我有一个select
查询,它以下列方式返回两列。我可以将它放在临时表中,或者如果它有助于解决问题,可以将其作为CTE。这个问题将在后面列出。
id (cnt)
28002 11
28010 14
28029 13
28037 7
28045 6
28053 3
28061 6
28070 5
28100 5
28118 10
29009 1
但我现在想从另一个具有以下定义的表中选择
id
sub_id
numberOfObjects
所以样本数据可能是
id sub_id numberofObjects
28002 203125 10
28002 203126 56
28002 203127 75
28002 203128 76
28002 203129 5
28002 203130 50
28061 203131 26
28061 203132 7
28061 203133 14
28061 203134 32
29009 105678 33
如您所见,一个id
有许多sub_id
。
对于第一个select语句中的每个id,我希望它匹配第二个select语句中的id,并拉出numberOfObjects小于15的所有sub_id
所以我的结果应该是
id sub_id numberofObjects
28002 203125 10
28002 203129 5
28061 203132 7
28061 203133 14
答案 0 :(得分:0)
这个怎么样:
SELECT f.id
, ot.sub_id
, ot.numberofobjects
FROM
( ...first query...) f
JOIN otherTable ot
ON ot.id = f.id
WHERE ot.numberofobjects < 15
如果您希望主要ID出现,即使没有subid少于15 ...
SELECT f.id
, ot.sub_id
, ot.numberofobjects
FROM
( ...first query...) f
LEFT JOIN otherTable ot
ON ot.id = f.id
AND ot.numberofobjects < 15
是的,您可以使用CTE而不是内联视图。