2016-05-24 18 views
1

私はSQLサーバーを使用しています。私は5つの変数を持っています:@contentsType, @itemIDand, @dealerID, @userID,@itemID単一クエリで複数の変数の値を設定できますか?

これらの変数の値は、このクエリで1回だけ設定できますか?

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) 
+0

ない私はあなたがやろうとしているかを理解してくださいを使用することができます。あなたのクエリから1行以上を期待していますか? –

+0

'order by'を使わずに' top'を使うべきではありません。 –

答えて

4

あなたは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 
+0

ありがとう:)それは働いている –

関連する問題