2013-03-12 36 views
0

這可能很明顯,但由於我沒有任何經驗,我無法弄清楚該怎麼做。這是一個問題;說我有table2與字段ID,名稱,時間,價格和解釋。此外,還有一個名稱,時間和價格的表1。如果價格高於某個閾值,我想從table1插入數據,同時這樣做是因爲我想要「價格高於閾值」的解釋。任何人都可以建議我這樣做嗎?提前致謝。MYSQL語法,用於將數據插入另一個不同的窗體中的表格

回答

1

嘗試......

INSERT INTO `table2` (`name`, `time`, `price`, `explanation`) 
SELECT `name`, `time`, `price`, 'The price is above threshold' 
FROM `table1` 
WHERE `price` > 100 
+0

謝謝SomeSillyName – user64066 2013-03-12 14:01:38

0
NSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] 
[INTO] tbl_name [(col_name,...)] 
SELECT ... 
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ] 

使用INSERT ... SELECT,您可以快速地從一個或多個表中插入許多行到表中。例如:

INSERT INTO tbl_temp2(fld_id) SELECT tbl_temp1.fld_order_id FROM tbl_temp1 WHERE tbl_temp1.fld_order_id> 100;

以下的條件成立的INSERT ... SELECT聲明: http://dev.mysql.com/doc/refman/5.0/en/insert-select.html

+0

但這只是插入現有的表,而不是創建解釋。 – user64066 2013-03-12 13:47:24

+0

你沒有說你想在你的問題中創建一個新表。你說那裏還有另一張桌子。我建議你修改你的問題。 – Tom 2013-03-12 13:51:48

0
INSERT table1 (name, time, price) 
SELECT name, time, price 
FROM table2 
WHERE price > 120 
+0

這段代碼中沒有id,我怎樣才能添加解釋。這隻會產生完全相同的表格,除了價格高於120.我需要的是創建一個類似上面的表格另外兩個字段一是id另一個是解釋。另外,我想要這樣解釋:「價格高於閾值」如果價格較高 – user64066 2013-03-12 13:53:39

0

您使用INSERT語句,並列出要插入到田間地頭,其次是你要用於填充SELECT語句田野與。這裏有一個鏈接:http://dev.mysql.com/doc/refman/5.5/en/insert.html

例子:

INSERT INTO insert_tablename (field1, field2, field3) 

SELECT field1, field2, field3 

< The rest of your select statement > 
相關問題