2011-08-26 57 views
0

我搜索了谷歌2小時,沒有運氣,我覺得很簡單。我有4個表,我可以結合在一起的第一個4下面,我有所有表中的所有行。我想弄清楚如何添加1個額外的FullName列,以便所有結果都顯示來自基於b的每行中的table5的FullName,這在所有其他表中都是如此。我希望這對某人有意義。5桌上的Mysql查詢

SELECT a, b, NULL AS Name FROM table1 
union SELECT a, b, NULL AS Name FROM table2 
union SELECT a, b, NULL AS Name FROM table3 
union SELECT a, b, NULL AS Name FROM table4 
union SELECT NULL AS a, b, FullName FROM table5 where 

..... B在以前的4個select語句

回答

1
SELECT unions.*, tb5.FullName 
FROM (
SELECT a, b FROM table1 
union SELECT a, b FROM table2 
union SELECT a, b FROM table3 
union SELECT a, b FROM table4 
union SELECT a, b FROM table5 
) AS unions 
JOIN table5 AS tb5 ON unions.b = tb5.b 

可能工作等於任何B-?

編輯:更新...

+0

謝謝,它的工作原理,但返回額外的行。不知道爲什麼。我認爲這可能是因爲表5中有一些重複的值,我無法控制,因爲它不是我的數據。我試圖通過unions.b將查詢添加到查詢結尾,但返回的行數太少。任何想法... – user913343

+0

你可以嘗試「獨特」,但理想情況下,如果可能的話,你應該改變你的表格結構,聽起來像是真的搞砸了。 – Matthew

+0

是的,我嘗試了,它是搞砸了,但我是其他人計劃不周的受害者。謝謝您的幫助。 – user913343