(SELECT field1 FROM Table1) UNION
(SELECT field1 FROM Table2);
這將從兩個表中獲取所有行。 有沒有辦法將表名添加到結果中,以便更容易地看到記錄來自哪裏?例如使用IF table1然後預先記錄一個字符串?MYSQL UNION - 使用mysql字符串函數?
的示例記錄我目前得到的是
banana
我想
t1-banana or t2-banana
(SELECT field1 FROM Table1) UNION
(SELECT field1 FROM Table2);
這將從兩個表中獲取所有行。 有沒有辦法將表名添加到結果中,以便更容易地看到記錄來自哪裏?例如使用IF table1然後預先記錄一個字符串?MYSQL UNION - 使用mysql字符串函數?
的示例記錄我目前得到的是
banana
我想
t1-banana or t2-banana
(SELECT CONCAT("t1-", field1) FROM Table1)
UNION
(SELECT CONCAT("t2-", field1) FROM Table2);
(SELECT Concat(field1 , '-Table1') FROM Table1) UNION
(SELECT Concat(field1 , '-Table2') FROM Table2);
'+'在SQL-Server中作爲一個串聯運算符,而不是MySQL。 – 2012-03-23 14:35:44
要在MySQL中連接字符串,請使用'CONCAT'。 – 2012-03-23 14:36:08
非常感謝,以爲我表達了這個想法;) – Habib 2012-03-23 14:39:35
您可以添加表名作爲第二列的值:
(SELECT field1, 'Table1' AS table_name FROM Table1)
UNION
(SELECT field1, 'Table2' AS table_name FROM Table2);
+1,這比'CONCAT'更好。 – 2012-03-23 14:37:13
+1,在MySQL端更快,使用PHP更容易檢查 – 2012-03-23 15:25:49
是的。 Rocket正確回答了我的問題,但我在代碼中使用了這個答案,因爲它對我來說更快。謝謝 – Harry 2012-03-23 15:27:25
(SELECT field1, 't1' as table_name FROM Table1)
UNION
(SELECT field1, 't2' as table_name FROM Table2);
+1,這可能比使用'CONCAT'更好。 – 2012-03-23 14:39:03
我們**不知道**您的表格是什麼樣的...... – Neal 2012-03-23 14:32:20
您爲什麼需要這個? – 2012-03-23 14:34:11
這將使聯盟運營商中的一件事無效,因爲那麼將會(可能)是所有唯一的行 – Habib 2012-03-23 14:36:56