[英]Combining 2 SQL queries into one single query
我需要有關 SQL 查詢的幫助。 我正在嘗試使用“IN”子句從多個 where 條件中獲取結果。
這是查詢:
SELECT ID,LOCALCODE,STRING
FROM SSODEV.TRANSLATION
WHERE STRINGKEY IN (SELECT DESCRIPTIONKEY
FROM SSODEV.APPFIELD
WHERE APPLICATIONID='a6e60e4d-e9ca-4a48-aa7f-0eb4d40ab260',
SELECT DISPLAYNAMEKEY
FROM SSODEV.APPFIELD
WHERE APPLICATIONID='a6e60e4d-e9ca-4a48-aa7f-0eb4d40ab260');
但是對於上述我得到一個錯誤
DB2 SQL 錯誤:SQLCODE=-104, SQLSTATE=42601, SQLERRMC=,;8-aa7f-0eb4d40ab260';INTERSECT, DRIVER=4.13.127`
我的目的是為以下 2 個查詢獲取單個查詢
select *
from SSODEV.TRANSLATION
where stringkey = 'appField.e3c94305-84b4-4190-9040-244429a3c0f0.description'
select *
from SSODEV.TRANSLATION
where stringkey = 'appField.e3c94305-84b4-4190-9040-244429a3c0f0.name'
查詢 1 和查詢 2 的“stringkey”來自表 SSODEV.APPFIELD,其列名稱為 DISPLAYNAMEKEY 和 DESCRIPTIONKEY。 因此,它們也必須被提取
你可以試試這個查詢:
select *
from SSODEV.TRANSLATION
where stringkey in ('appField.e3c94305-84b4-4190-9040-
244429a3c0f0.description',
'appField.e3c94305-84b4-4190-9040-244429a3c0f0.name'
)
@Suraj 關注您的評論:然后您可以嘗試
SELECT ID,LOCALCODE,STRING
FROM SSODEV.TRANSLATION
WHERE STRINGKEY IN ((SELECT DESCRIPTIONKEY
FROM SSODEV.APPFIELD
WHERE APPLICATIONID in('a6e60e4d-e9ca-4a48-aa7f-0eb4d40ab260','a6e60e4d-e9ca-4a48-aa7f-0eb4d40ab260')));
或者你可以嘗試加入第二個表:
SELECT ID,LOCALCODE,STRING
FROM SSODEV.TRANSLATION
left join SSSODEV.APPFIELD on SSODEV.APPFIELD.DESCRIPTIONKEY = SSODEV.TRANSLATION.STRINGKEY
WHERE APPLICATIONID IN ('a6e60e4d-e9ca-4a48-aa7f-0eb4d40ab260','a6e60e4d-e9ca-4a48-aa7f-0eb4d40ab260');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.