【发布时间】:2016-09-29 15:23:04
【问题描述】:
我已经使用多个连接语句编写了 2 个 sql 查询。
现在我想组合两个查询结果,如下所示。 第一个查询显示这些列
UDC_ID, EXT_ID, VALUE
第二个查询显示这些列
UDC_ID, EXT_ID, VALUE
在两个查询中,UDC_ID 和 EXT_ID 列相同,但每个查询中的 VALUE 列不同
所以我要显示的最终输出是,
UDC_ID, EXT_ID, VALUE (From Query1), VALUE (from Query 2)
谁能建议如何做到这一点?
这些是我的疑问:
查询 1 连接三个表:
SELECT
DEV.UDC_ID,
SR.EXT_ID,
SRA.VALUE
FROM SERVICE_REQUEST SR
JOIN DEVICE DEV
ON SR.DEVICE_ID = DEV.ID
JOIN SERVICE_REQUEST_ATTR SRA
ON SR.ID = SERVICE_REQUEST_ID
WHERE SR.SUB_TYPE_CD = 'HMI_22'
--AND DEV.SUB_TYPE = 'ESME'
AND SRA.NAME = 'CommsHubGUID'
AND SR.INSERT_TIME >= TO_DATE('2016-09-21 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
AND SR.INSERT_TIME <= TO_DATE('2016-09-28 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
ORDER BY SR.INSERT_TIME DESC;
查询1与本次查询的区别在于SRA.NAME字段的where子句条件,否则两个查询相同。
SELECT
DEV.UDC_ID,
SR.EXT_ID,
SRA.VALUE
FROM SERVICE_REQUEST SR
JOIN DEVICE DEV
ON SR.DEVICE_ID = DEV.ID`enter code here`
JOIN SERVICE_REQUEST_ATTR SRA
ON SR.ID = SERVICE_REQUEST_ID
WHERE SR.SUB_TYPE_CD = 'HMI_22'
--AND DEV.SUB_TYPE = 'ESME'
AND SRA.NAME = 'Service Location'
AND SR.INSERT_TIME >= TO_DATE('2016-09-21 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
AND SR.INSERT_TIME <= TO_DATE('2016-09-28 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
ORDER BY SR.INSERT_TIME DESC
【问题讨论】:
标签: sql