我可以在单个查询中设置多个变量值吗?



我正在使用SQL Server。我有 5 个变量:@contentsType, @itemIDand, @dealerID, @userID,@itemID

如何在单个此查询中设置这些变量值一次?

SET @contentsType = (select top 1 mi.type_id from #tempResults as tr left join [myDB].[dbo].myTable mi on tr.item_id = mi.id)
SET @itemID = (select top 1 mi.item_id from #tempResults as tr left join [myDB].[dbo].myTable mi on tr.item_id = mi.id)
SET @dealerID = (select top 1 mi.dealer_id from #tempResults as tr left join [myDB].[dbo].myTable mi on tr.item_id = mi.id)
SET @userID = (select top 1 mi.user_id from #tempResults as tr left join [myDB].[dbo].myTable mi on tr.item_id = mi.id)
SET @itemID = (select top 1 id from #tempResults)

你可以使用select set

select top 1
    @contentsType = mi.type_id,
    @itemID = mi.item_id,
    @dealerID = mi.dealer_id,
    @userID = mi.user_id
from #tempResults as tr
left join [myDB].[dbo].myTable mi on tr.item_id = mi.id;
select top 1 @itemID = id from #tempResults

最新更新