这是我的数据
day room ids section idt term years
1 1207 400 101 1 te00 1 2557
1 1207 400 102 1 te00 1 2557
1 1207 400 103 1 te00 1 2557
1 1207 400 101 2 te00 1 2557
1 1207 400 102 2 te00 1 2557
1 1207 400 103 2 te00 1 2557
这是我的表:tbtables
tbstudent
idstd namestd ids section term years
55001 aa 400 101 1 1 2557
55001 aa 400 102 1 1 2557
55001 aa 400 103 1 1 2557
55002 ab 400 101 2 1 2557
55002 ab 400 102 2 1 2557
55002 ab 400 103 2 1 2557
55003 ac 400 101 1 1 2557
55003 ac 400 102 1 1 2557
55003 ac 400 103 1 1 2557
这是我的代码:
SELECT idstd, namestd
FROM tbstudent
enter code here
WHERE (ids =
(SELECT ids
FROM tbtables
WHERE (ids = @ids) AND (section = @section)))
**我输入ids = 400 101和section = 2
发生了什么我不明白请告诉我 输出**
idstd namestd
55001 aa
55002 ab
55003 ac
why :(
答案 0 :(得分:2)
用作
SELECT idstd, namestd
FROM tbstudent
WHERE (ids = @ids) AND (section = @section)
它只会返回
idstd | namestd
55002 | ab
为什么需要使用tbltable
在您的查询中,tbltable
返回400 101
和tblstudent
,其中3条记录具有相同的ID。
答案 1 :(得分:1)
使用嵌套查询
SELECT ids
FROM tbtables
WHERE (ids = @ids) AND (section = @section)
您选择了与搜索匹配的ID,结果 - > 400 101
使用其他查询
SELECT idstd, namestd
FROM tbstudent
WHERE (ids = ...
你选择idstd,namestd,其中ids = previus结果 - > 400 101,
然后你的结果