我试图将其更改为动态,但我坚持使用数据集。
例如,声明
SELECT * FROM A
WHERE id IN(1,2)
并且1,2来自于
SELECT id FROM B
WHERE type ='%xxx%'
上面的陈述可以返回多个号码 我尝试声明@id,但我不知道
所以,有什么想法吗?
谢谢你的建议:)
答案 0 :(得分:0)
SELECT * FROM A
WHERE id IN (
SELECT id FROM B
WHERE type='%xxx%')
这称为subquery。
编辑:当使用子查询不是一个选项并且您想要使用变量时,您可以声明一个临时表并将表A
与该表连接。
DECLARE @C table (id int)
INSERT @C (id)
SELECT id FROM B
WHERE type='%xxx%'
SELECT A.*
FROM A INNER JOIN @C c ON A.id = c.id
答案 1 :(得分:0)
SELECT A.* FROM A
INNER JOIN B
WHERE B.type='%xxx%'
AND A.ID = B.ID
也许您可以使用内连接,它应该返回您查看的结果集