看起来你正在做三个子查询表之间的交叉连接。如果每个子查询返回一个单值,这可能只会产生有意义的输出。我可能会建议您改为使用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