2017-05-16 31 views
-2

基於我在線研究的內容,不確定這是否可行。但只是想檢查一下。有沒有辦法將參數加入表中?

如果我有一個參數,如:

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

而且我有一個表叫[People],然後我可以將兩個在一起嗎?

喜歡的東西:

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

是這樣的可能,如果這樣的事情有人可以提供的語法或〔實施例?

+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-parameter-values-slowing-down-query)形成背景,沒有這個背景,這個問題沒有什麼意義。即使是這樣, ... 。 'ssms'標籤當然是虛假的。數據庫軟件是隱含的,但沒有說明。 – HABO

+0

@HABO正確地將這篇文章標記爲不願意學習或閱讀答案的人的系列文章中的第三篇。不要在這裏浪費你的時間,他們不聽。 –

回答

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; 
相關問題