如何将此语句更改为动态SQL?
我试图将其更改为动态,但我仍停留在数据集上。如何将此语句更改为动态SQL?,sql,dynamic-sql,Sql,Dynamic Sql,我试图将其更改为动态,但我仍停留在数据集上。 例如,语句 从列表中选择* 其中id在(1,2)中 还有1,2来自 从B中选择id 其中类型=“%xxx%” 上面的语句可以返回多个数字 我试图声明@id,但我不知道 你知道吗 谢谢你的建议:) 这被称为一个 编辑:当使用子查询不是一个选项并且您想要使用一个变量时,您可以声明一个临时表并将表a与该表连接起来 DECLARE @C table (id int) INSERT @C (id) SELECT id FROM B WHERE type='
例如,语句 从列表中选择*
其中id在(1,2)中 还有1,2来自
从B中选择id
其中类型=“%xxx%” 上面的语句可以返回多个数字
我试图声明@id,但我不知道 你知道吗
谢谢你的建议:) 这被称为一个 编辑:当使用子查询不是一个选项并且您想要使用一个变量时,您可以声明一个临时表并将表
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,2)中为id声明@id?我添加了一个使用临时表作为变量的解决方案。
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
SELECT A.* FROM A
INNER JOIN B
WHERE B.type='%xxx%'
AND A.ID = B.ID