[英]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.