看起來你正在做三個子查詢表之間的交叉連接。如果每個子查詢返回一個單值,這可能只會產生有意義的輸出。我可能會建議您改爲使用UNION ALL
這裏:
SELECT ISNULL(PD_BARCODE, 'NA' AS value
FROM docsadm.PD_BARCODE WHERE SYSTEM_ID = 11660081
UNION ALL
SELECT ISNULL(A_JAHRE, 'NA')
FROM docsadm.A_PD_DATENSCHUTZ WHERE system_ID = 2066
UNION ALL
SELECT ISULL(PD_PART_NAME, 'NA')
FROM docsadm.PD_FILE_PART WHERE system_id = 11660082
如果三列是選擇上面的聯合查詢可能需要稍微修改並不都具有相同的類型(我假設是varchar
在我查詢)。
如果你真的需要數據作爲單獨的列的這三點,那麼你可以只包括三個子查詢在外部項目中進行選擇:
SELECT
(SELECT ISNULL(PD_BARCODE, 'NA')
FROM docsadm.PD_BARCODE WHERE SYSTEM_ID = 11660081) AS PD_BARCODE,
(SELECT ISNULL(A_JAHRE, 'NA')
FROM docsadm.A_PD_DATENSCHUTZ WHERE system_ID = 2066) AS A_JAHRE,
(SELECT ISNULL(PD_PART_NAME, 'NA')
FROM docsadm.PD_FILE_PART WHERE system_id = 11660082) AS PD_PART_NAME;
注意,因爲上面寫的,我們簡單地包括子查詢作爲select語句中的值。但是,當您編寫原始查詢時,您將作爲單獨的表加入子查詢。
沒有加入條件嗎? – jarlh
添加一些示例表格數據和預期結果。全部作爲格式化文本。 – jarlh