我已经获得了target_service ID和parse param,我需要使用folloowing sql语句找到其他数据
SELECT
Distinct TARGET_ID
FROM
KB_OBJECT_PORTFOLIOS
WHERE
TARGET_SERVICE_ID=3780000000000220;
现在我的目标ID = 3780000000000248
SELECT
count(*) AS COUNT
FROM
KB_OBJECT_PORTFOLIOS
WHERE
TARGET_ID=3780000000000248
AND
PARSE_PARAM='bkey=5366349'
我可以将这些全部写为一个sql语句而不是两个。我对嵌套选择的经验是,它们花费的时间太长了。所以,如果你有一个加入的解决方案,那就更好了。
结果应该是
TARGET_ID, COUNT
3780000000000248, 1
谢谢
答案 0 :(得分:1)
如果我理解正确,你甚至不需要加入。您可以合并这两个条件(在TARGET_SERVICE_ID
和PARSE_PARAM
上)并选择每个TARGET_ID
的计数
select TARGET_ID, count(*)
from KB_OBJECT_PORTFOLIOS
where TARGET_SERVICE_ID=3780000000000220 and
PARSE_PARAM = 'bkey=5366349'
group by TARGET_ID
答案 1 :(得分:1)
为什么你需要两个查询呢?如果第一个SELECT返回TARGET_ID,并且由于TARGET_SERVICE_ID和TARGET_ID都在同一个表(KB_OBJECT_PORTFOLIOS)中,您可以执行以下操作:
SELECT
count(*) AS COUNT
FROM
KB_OBJECT_PORTFOLIOS
WHERE
TARGET_SERVICE_ID=3780000000000220
AND
PARSE_PARAM='bkey=5366349'