2013-11-03 48 views
0

有沒有在MySQL像這樣的僞代碼執行查詢的方式:確定基於MySQL中陳述另一個表列動態列值

INSERT INTO table_a(a, b, c) SELECT table_b.a, table_b.b, IF (table_b.c <100) 500 else 1000 WHERE ... 

我知道我可以讓兩個單獨的查詢作爲交易但我想知道是否有一種方法可以基於另一個表中的另一列插入一個值,而不必重複兩次記錄。

回答

1

是的,有。 可以使用CASE結構:

INSERT INTO table_a (a, b, c) 
SELECT table_b.a, table_b.b, CASE WHEN table_b.c < 100 THEN 500 else 1000 END 
FROM table_b 
WHERE ... 
+0

錯過了,在我的搜索 - 謝謝! –

相關問題