2014-07-08 82 views
0

我在SQL Server中下面的查詢SQL服務器定義局部變量

SELECT name,id FROM [someDatabase] 
where id like 'testName' 

現在我想在另一個查詢中使用的名稱和ID,並定義名稱的名稱和ID號

SELECT DISTINCT vision FROM [someDatabase] WHERE name = NAME 

And id = ID 

我不熟悉SQL服務器語法。我如何將這兩個定義爲局部變量?

在此先感謝。

回答

0

您需要聲明變量先保存數據:

DECLARE @name VARCHAR(100), 
     @id INT 

然後你就可以分配給這些變量在SELECT語句。請注意,此查詢不會產生任何輸出。

SELECT @name = name,@id = id FROM [someDatabase] 
where id like 'testName' 

最後,你可以在查詢中使用這些值

SELECT DISTINCT vision FROM [someDatabase] WHERE name = @name 
And id = @id 
0
SELECT DISTINCT vision FROM [somedatabase] 
WHERE name IN (SELECT name FROM [someDatabase] where id like 'testName') 
AND id IN (SELECT id FROM [someDatabase] WHERE id LIKE 'testName') 
+0

這不回答這個問題 – Djizeus

+0

真實的,但它應該給,結果他是預先假定的ID是唯一的後LIKE 'testname'只產生一個ID。 – russ

+0

爲什麼在同一張桌子上打3次呢?爲什麼打擾使用像沒有通配符? –