SQLクエリから変数を設定するにはどうすればいいですか? 質問する

SQLクエリから変数を設定するにはどうすればいいですか? 質問する

SQL クエリから変数を設定しようとしています:

declare @ModelID uniqueidentifer

Select @ModelID = select modelid from models
where areaid = 'South Coast'

明らかに、これは正しく実行されていないので機能しません。誰か解決策を提案してもらえますか?

ありがとう!

ベストアンサー1

使用SELECT

SELECT @ModelID = m.modelid 
  FROM MODELS m
 WHERE m.areaid = 'South Coast'

使用SET

SET @ModelID = (SELECT m.modelid 
                  FROM MODELS m
                 WHERE m.areaid = 'South Coast');

次に、 を使用して変数SELECTの値を表示したり@ModelID、コード内で変数を使用したりできます。

SELECT @ModelID

TSQLでのSELECTとSETの違いについては、この質問を参照してください。

警告

SELECTこのステートメントが複数の値を返す場合(そもそも不適切):

  • を使用するとSELECT、変数には返された最後の値が割り当てられます(wompが言ったように)、エラーや警告はありません(これによりロジックのバグが発生する可能性があります)。
  • SETクエリの最後にセミコロンを入れない場合にのみ、クエリはエラーを返します。

おすすめ記事