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