好吧,标题很复杂。我基本上想做的事情:
我希望我的存储过程向用户显示该过程所做的“结果表”之类的东西。但是我在使用“INSERT INTO”语句插入子查询值或表变量数据时遇到了极端问题。
需要插入到我的结果表中的数据(作为@resulttable 删除)来自 2 个不同的表。并来自我之前声明的表变量(@allupdateditermIDs)。
我已经尝试过这些脚本来实现这一点:
INSERT INTO @resulttable (UpdatedItemID, UpdatedItemName, NewProbability)
SELECT * FROM @allupdateditemIDs ORDER BY ItemNum ASC,
SELECT ItemName FROM ti_Item WHERE ItemNum IN (SELECT * FROM @allupdateditemIDs) ORDER BY ItemNum ASC,
SELECT MixingProbability FROM ti_ItemMixingInfo WHERE TargetItemNum IN (SELECT * FROM @allupdateditemIDs) ORDER BY TargetItemNum ASC
这个也没有“,”或者这个:
INSERT INTO @resulttable (UpdatedItemID, UpdatedItemName, NewProbability)
VALUES ((SELECT * FROM @allupdateditemIDs ORDER BY ItemNum ASC),
(SELECT ItemName FROM ti_Item WHERE ItemNum IN (SELECT * FROM @allupdateditemIDs) ORDER BY ItemNum ASC),
(SELECT MixingProbability FROM ti_ItemMixingInfo WHERE TargetItemNum IN (SELECT * FROM @allupdateditemIDs) ORDER BY TargetItemNum ASC))
我已经在很多网站上搜索了,但是我找不到任何有用的东西,因为我没有从 1 个表中获取表变量的数据,而是从许多表中获取它们。
我真的很感谢你的帮助。提前致谢 ;)