我有3個表有以下模式:SQL:獲取關於 'IN' 運算可能的值,從兩個不同的表
表1列:ID MSGNUM消息 表2列:ID MSGNUM SYSTEMID 表3列:ID MSGNUM IncidentNum
我想從表2和表3。
從表2選擇的一個值的範圍內的表1 MSGNUM所有項目,使用以下SQL獲得用於MSGNUM可能的值:
SELECT Table2.MsgNum from Table2 WHERE SystemId = 'Sys-0001'
,並從表3,
SELECT Table3.MsgNum from Table3 WHERE IncidentNumber = 'Incident-0001'
現在,我就喜歡用從以前的2條SELECT語句獲得MSGNUM值的組合,以獲得在表1中相應的行如下:
SELECT * from Table1 where MsgNum IN (SELECT Table2.MsgNum from Table2 WHERE SystemId = 'Sys-0001' OR SELECT Table3.MsgNum from Table3 WHERE IncidentNumber = 'Incident-0001')
但是,此SQL使用Interactive SQL失敗。我究竟做錯了什麼?
如果這些答案中的任何一個解決了您的問題,您應該將其標記爲答案,因爲這有助於社區稍後快速找到答案。 – 2011-05-06 17:56:05