Объединить 3 запроса в один в Informix SQL
У меня есть 3 sql запросов, которые я хотел бы объединить в одном.
Я знаю значение "UKLN_8945_UDP", которое я использую в 1-м запросе. Этот 1-й запрос дает мне два значения, которые я не могу прочитать, поэтому мне нужно выполнить 2 других запроса, чтобы вернуть значения, которые я могу прочитать.
1-й запрос
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
2-й запрос использует fkdevice из 1-го запроса
run sql select D.name SEPDname from device D where D.pkid = 'f3b95ea0-63f8-49d1-911f-cacdd68d0967'
Этот запрос возвращает 1 значение: sepdname: SEP0057D2C01D0B
3-й запрос использует fkenduser из 1-го запроса
run sql select E.userid from enduser E where E.pkid = '5a71fc04-d348-8115-9ff9-ea78f38b06fc'
Этот запрос возвращает 1 значение: userid: UKLN
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'