2014-07-10 49 views
0

我是SQL的新手。我面臨的問題是,我想從客戶表中選擇一個特定名稱John,但我將John存儲在名爲var_name的字符串中。現在有什麼辦法可以在select語句中使用這個變量名而不是寫John嗎?如何在SELECT語句中使用變量?

對不起,我忘了解釋深入的問題,

我有它包含了客戶的詳細信息,客戶名稱中是coloumn的一個表,所以當用戶點擊了客戶的任何特定的名稱名稱coloumn該名稱被存儲在名爲var_name的變量中,我想要該特定客戶名稱的客戶ID,這是我在上述問題中沒有提及的問題。所以我希望在coloumn中點擊的隨機值應該在SELECT語句中替換。您的查詢將工作,如果在約翰用戶點擊,我想對上述問題

這裏一般的查詢是一個例子

SELECT var_name -- this is what I've used, is there any other way to accomplish this? 
FROM Customer 
Where Customer_ID = '1234'; 

所以請幫我解決這個問題。

謝謝!

+2

哪個RDBMS?請更好地解釋你的最終目標。 –

+0

請添加變量定義,加上您正在使用的RDBMS。 –

+0

我正在使用SQL Server Management Studio。 –

回答

0

如果您使用的是SQL服務器, 實際上,你可以聲明你VAR_NAME:

DECLARE @var_name nvarchar(50) SET @var_name = (SELECT "something" FROM Customer WHERE Customer_ID = '1234') from here, you can do whatever you want with @var_name

+0

這隻適用於SQL服務器,而OP尚未說明它們正在使用哪個RDBMS。 –

+0

@FrankSchmitt是的,我修改了我的答案。謝謝 – Jacky

+0

謝謝,稍作修改此查詢爲我工作,感謝一噸Jacky!祝你有個美好的一天 :) –

0

包裝一個單值選擇在括號中的另一個查詢中使用它的值:

select something 
from sometable 
where somecolumn = (SELECT name FROM Customer Where Customer_ID = '1234') 
+0

@KarthikPB請不要在評論中添加其他信息。編輯你的問題,而不是(有一個很好的按鈕稱爲**編輯**爲:-)) –

+0

完成它坦率:)謝謝! –

0

我希望這是你所要求的,

SqlConnection con = new SqlConnection("Your connection goes here"); 
con.Open(); 
SqlCommand cmd = new SqlCommand("Select name from customer where customerid = '1234'",con); 
SqlDataReader dr = cmd.ExecuteReader(); 
while(dr.Read()) 
{ 
    string var_name = dr.GetString(0); 
} 
con.Close(); 

這是您可以將數據庫中的值存儲到字符串中的一種方式。

相關問題