在使用硬編碼值和子查詢我有這個疑問:IN子句
SELECT *
FROM Parent.Table
WHERE Ref_Num IN ('4205' or (SELECT Ref_Num FROM Child.Table WHERE Ref_Num ='234'))
AND Asset_Type IN ('PUMPS','COLL')
該查詢不起作用。該子查詢返回53行,而不是輸出所有的子女參考號碼是否有一種方法可以將它們與父號碼'4205'一起放入查詢中。
謝謝。
在使用硬編碼值和子查詢我有這個疑問:IN子句
SELECT *
FROM Parent.Table
WHERE Ref_Num IN ('4205' or (SELECT Ref_Num FROM Child.Table WHERE Ref_Num ='234'))
AND Asset_Type IN ('PUMPS','COLL')
該查詢不起作用。該子查詢返回53行,而不是輸出所有的子女參考號碼是否有一種方法可以將它們與父號碼'4205'一起放入查詢中。
謝謝。
或許你可以嘗試像
SELECT *
FROM Parent.Table
WHERE Ref_Num In (SELECT Ref_Num
FROM Child.Table
WHERE Ref_Num ='234'
UNION
SELECT '4205' As Ref_Num
FROM SYSIBM.SYSDUMMY1)
AND Asset_Type IN ('PUMPS','COLL')
注意SYSDUMMY1是EBCDIC表。如果您需要ASCII,請使用SYSDUMMYA。如果您需要Unicode,請使用SYSDUMMYU。
分享和享受。
鑑於他沒有使用僞表中包含的值,這個字段的編碼是什麼關係?或者,如果引用表,優化器是否會自動轉換? –
是,使用一個聯合查詢
select 4205 ref_num
from some_small_table
union
select ref_num
from child.table
etc
這不起到過濾器的作用,只能用我想要的ref編號返回記錄。它只是添加到返回的行。 – Sewder
嘗試像'SELECT 4205 UNION ALL/*您的查詢* /'一樣的'UNION'。 – user2989408