0
我使用嵌套的Select語句從表1中獲取單個行結果,我需要在同一行的末尾附加表3中的另一列(COLX)。 我試過UNION,但結果是2行。有什麼建議麼?MySQL從同一行中的不同表中合併列
SELECT COL1,COL2,COL3
FROM `table1`
where COL1 IN (
SELECT table2.COL1 FROM `table2`
where table2.START_HOUR <= HOUR(NOW())
AND
table2.END_HOUR > HOUR(NOW())
AND
table2.COLZ IN (
SELECT IFNULL((SELECT COLX from `table3` WHERE COLY = 12345),'B')))
Limit 1
table2.COLZ和table3.COLX是用於匹配條目的ID。這些最終結果中的任何一個都能滿足要求。
編輯(進一步解釋我的表結構)
table1
COL1|COL2|COL3
table2
COl1|START_HOUR|END_HOUR|COLZ
table3
COLX|COLY
COLX是表3的ID在表匹配COLZ 2
COL1在表2至表匹配COL1的ID 1
結果我需要的是 table1.COL1,table1.COL2,table1.COL3,table2.COl1,table2.COLZ,table3.COLX
其中WHERE table3.COLY = 12345
正在接收以下錯誤 #1248 - 每個派生表必須具有其自己的別名 – kasai
也許您需要添加一些'as'來爲表別名。我不知道MySql是如何工作的。 – JBO