我使用动态SQL,查询数据库:查询数据库,利用以前的查询结果,并结合他们
DECLARE @VALUE VARCHAR(5000);
SET @VALUE = '123'
DECLARE @SQL5 NVARCHAR(MAX) = 'Select distinct item_id, attr_val from [dbo].[CONTRACT_ATTR] WHERE [ATTR_VAL] LIKE ''%@VALUE%'' AND [FIELD_ID] = 413 ORDER BY [attr_val]';
SET @SQL5 = replace(@SQL5, '@VALUE', @VALUE);
EXEC SP_executesql @SQL5;
这些结果如下:
我想取结果(item_id)并运行另一个select查询。事情是这样的:
UNION
Select Column3 From @SQL5 where other_column = 1234
结果将是3列返回的每个行中,2块原装和新的第二选择中。
我在做什么错,我该如何解决?
如果你知道这个值,你为什么要使用REPLACE? – McNets
@McNets我不以上述123为例。 –
'联合'要求两个select语句返回相同的列(输出的模式必须相同) – Sparrow