0

我对 sql 很陌生,所以我希望这个解释是有道理的。

我想退回销售人员。给定 ID2 时,根据 ID3 查找所有 ID1

我的表看起来像这样 表 1 表 2

ID1 Sales       ID1 ID2 ID3
A   10          A   0   #
B   20          B   1   #
C   30          C   2   #
D   40          D   3   *
E   50          E   4   $
F   60          F   5   $
G   70          G   6   #
H   80          H   7   %
I   90          I   8   %

查找 ID2 = 0 时的结果将是

结果 ID2 = 0

ID1 Sales
A   10
B   20
C   30
G   70


select ID1,Sales 

from table1 

where ID1 in (select ID1 from table2 where ID3 in ( select ID3 from table2 where ID2 = 0))

谢谢大家的帮助。我设法通过使用以下方法得到了答案。非常感谢您的帮助,我学到了很多

4

2 回答 2

0
select ID1,Sales from table1 where ID1 in(select ID1 from table2 where ID3 in (select ID3 from table where ID2=0))
于 2013-10-04T04:42:42.983 回答
0

所以你需要三个信息。

首先是你在寻找什么 id3 值?

答案是 '#'。

然后,您想要获取具有该 id3 值的所有 id1 值。

最后你想返回一个 id1 和 sales 的结果集。

select -- step 3
  table1.id1
 ,table1.sales
from
  table1 
inner join -- step 2
  table2 
on table1.id1 = table2.id1
inner join (
select
  id3
from
  table2
where
  id2 = 0 ) as subquery -- step 1
on table2.id3 = subquery.id3
于 2013-10-04T04:38:01.373 回答