在 Informix 中将 3 个查询合并为一个 SQL
Combine 3 queries to one in Informix SQL
我想将 3 个 sql 个查询合并为一个。
我知道我在第一个查询中使用的值 'UKLN_8945_UDP',第一个查询给了我两个我无法读取的值,所以我需要 运行 2 个其他查询 return 我可以阅读的值。
第一个查询是
run sql SELECT EMD.fkdevice,EMD.fkEnduser FROM extensionmobilitydynamic EMD WHERE EMD.fkdevice_currentloginprofile = (SELECT d1.pkid FROM device d1 WHERE d1.name = 'UKLN_8945_UDP')
即查询 returns 2 个值:
fk设备:f3b95ea0-63f8-49d1-911f-cacdd68d0967
fkenduser: 5a71fc04-d348-8115-9ff9-ea78f38b06fc
第二个查询正在使用第一个查询中的 fkdevice
run sql select D.name SEPDname from device D where D.pkid = 'f3b95ea0-63f8-49d1-911f-cacdd68d0967'
即查询returns 1个值:
sepdname:SEP0057D2C01D0B
第三个查询使用第一个查询的 fkenduser
run sql select E.userid from enduser E where E.pkid = '5a71fc04-d348-8115-9ff9-ea78f38b06fc'
即查询returns 1个值:
用户 ID:UKLN
SELECT EMD.fkdevice
, EMD.fkEnduser
, D2.name
, E.userid
FROM device D1
JOIN extensionmobilitydynamic EMD
ON EMD.fkdevice_currentloginprofile = D1.pkid
JOIN device D2
ON D2.pkid = EMD.fkdevice
JOIN enduser E
ON E.pkid = EMD.fkEnduser
WHERE D1.name = 'UKLN_8945_UDP'
我想将 3 个 sql 个查询合并为一个。
我知道我在第一个查询中使用的值 'UKLN_8945_UDP',第一个查询给了我两个我无法读取的值,所以我需要 运行 2 个其他查询 return 我可以阅读的值。
第一个查询是
run sql SELECT EMD.fkdevice,EMD.fkEnduser FROM extensionmobilitydynamic EMD WHERE EMD.fkdevice_currentloginprofile = (SELECT d1.pkid FROM device d1 WHERE d1.name = 'UKLN_8945_UDP')
即查询 returns 2 个值: fk设备:f3b95ea0-63f8-49d1-911f-cacdd68d0967 fkenduser: 5a71fc04-d348-8115-9ff9-ea78f38b06fc
第二个查询正在使用第一个查询中的 fkdevice
run sql select D.name SEPDname from device D where D.pkid = 'f3b95ea0-63f8-49d1-911f-cacdd68d0967'
即查询returns 1个值: sepdname:SEP0057D2C01D0B
第三个查询使用第一个查询的 fkenduser
run sql select E.userid from enduser E where E.pkid = '5a71fc04-d348-8115-9ff9-ea78f38b06fc'
即查询returns 1个值: 用户 ID:UKLN
SELECT EMD.fkdevice
, EMD.fkEnduser
, D2.name
, E.userid
FROM device D1
JOIN extensionmobilitydynamic EMD
ON EMD.fkdevice_currentloginprofile = D1.pkid
JOIN device D2
ON D2.pkid = EMD.fkdevice
JOIN enduser E
ON E.pkid = EMD.fkEnduser
WHERE D1.name = 'UKLN_8945_UDP'