簡體   English   中英

MySQL,使用其他表中的數據創建表

[英]MySQL,Create table using data from other tables

你能幫我設計一個 MySQL 查詢來創建一個包含來自其他 3 個表的數據的表嗎?

數據庫設計:

在此處輸入圖片說明

我嘗試過的是:

INSERT INTO SklepZaloha (TIME)
    SELECT TIME FROM Item1;
INSERT INTO SklepZaloha (Boiler)
    SELECT Value FROM Item1;
INSERT INTO SklepZaloha (Zpatecka)
    SELECT Value FROM Item2;
INSERT INTO SklepZaloha (Vymnenik)
    SELECT Value FROM Item3;

但這會導致:aaabbbccc 而不是:abcabcabc

您的INSERT ... SELECT需要一次插入整行,而不是一次蠶食一個值。 為此,您需要使用JOIN

INSERT INTO SklepZaloha
    (`Time`, Boiler, Zpatecka, Vymnenik)
  SELECT i1.`Time`, i1.Value, i2.Value, i3.Value
    FROM Item1 i1
    INNER JOIN Item2 i2
      ON i1.`Time` = i2.`Time`
    INNER JOIN Item3 i3
      ON i1.`Time` = i3.`Time`;

SELECT部分也是SELECT ... INTO OUTFILE查詢的正確語法。

我可以告訴你一件事,你很可能必須在存儲過程中使用准備好的語句。 我已經有一段時間沒有這樣做了,但是在存儲過程中,您可以訪問包含數據的表,然后構造一個准備好的語句,然后執行該語句。

關於存儲過程和准備好的語句的 MySQL 文檔非常好。

但是,我依稀記得,在存儲過程中執行這種類型的語句存在問題。

抱歉,我幫不上忙了。

邁克爾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM