在Informix SQL中将3个查询合并为一个

问题描述 投票:2回答:1

我有3个sql查询,我想合并在一个。

我知道我在第一个查询中使用的值'UKLN_8945_UDP',第一个查询给了我两个我无法读取的值,所以我需要运行另外两个查询来返回我能读取的值。

第一个查询是

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')

该查询返回2个值:fkdevice: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'

该查询返回1值:sepdname:SEP0057D2C01D0B

第三个查询使用第一个查询中的fkenduser

run sql select E.userid from enduser E where E.pkid = '5a71fc04-d348-8115-9ff9-ea78f38b06fc'

该查询返回1个值:userid:UKLN

sql informix cucm
1个回答
1
投票
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'
© www.soinside.com 2019 - 2024. All rights reserved.