2017-05-16 14 views
-2

オンラインで調査した内容に基づいてこれが可能かどうかはわかりません。しかし、ちょうど確かめるためにチェックしたい。パラメータをテーブルに結合する方法はありますか?

私は、次のようなパラメータがある場合:

declare @Person nvarchar(4000) 
set @Person = '1234567' 

をそして私はその後、私は2つの一緒に参加することができ、[People]をテーブルと呼ばれていますか?以下のような

何か:

SELECT * FROM [People] t1 JOIN @Person t2 ON (t1.ID = t2.ID) 

は可能そうであればそのようなことは、誰かが構文またはexmapleを提供してくださいすることができますか?このサンプルデータの使用

+0

パラメータはスカラー値です。なぜあなたはそれに参加したいのですか、結果として何を期待していますか?また、番号1234567は何ですか?それはIDですか? 明らかに、テーブル変数を宣言し、その変数に値を代入してテーブルに結合することができます。これは私には奇妙に思える。 – FLICKER

+0

聴衆に:[this](http://stackoverflow.com/questions/44008157/exists-in-filter-returning-too-many-values)と[this](http://stackoverflow.com/questions/) 43989977/too-many-parameters-values-slow-down-query)は、この質問があまり意味を持たないバックグラウンドを形成します。たとえそうであっても、 ... 。 'ssms'タグは、もちろん偽です。また、データベースソフトウェアは暗示されていますが、明示されていません。 – HABO

+0

@HABOは、この投稿を、不本意ながら回答を読んだり読んだりしている人がシリーズの3番目の人物と誤ってラベルしました。ここにあなたの時間を無駄にしないで、彼らは聞いていません。 –

答えて

0

CREATE TABLE dbo.People (id int, peopleInfo nvarchar(4000)); 
INSERT dbo.People VALUES (123, 'joe'), (223, 'sally'), (323, 'Mary'); 

あなたがこれを行うことができます:

declare @Person nvarchar(4000) = '323' 

SELECT t1.* 
FROM dbo.People t1 
JOIN (VALUES (@Person)) t2(id) ON t1.ID = t2.ID; 

をしかし、なぜちょうどこれをしませんか?

SELECT t1.* 
FROM dbo.People t1 
WHERE t1.id = @Person; 
関連する問題