簡體   English   中英

將 2 個 SQL 查詢合並為一個查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM