Sql 如何在SELECT语句中使用变量?

Sql 如何在SELECT语句中使用变量?,sql,sql-server,select,Sql,Sql Server,Select,我是SQL的新手。我面临的问题是,我想从customer表中选择一个特定的名称John,但我将John存储在一个名为var_name的字符串中。现在有没有办法在select语句中使用这个变量名而不是编写John 对不起,我忘了详细解释这个问题 我有一个包含客户详细信息的表,其中客户名称是一个冒号,因此当用户单击客户名称冒号中的任何特定名称时,该名称将存储在名为var_name的变量中,我需要该特定客户名称的客户id,这是我在上面的问题中没有提到的问题。所以我希望在列中单击的随机值应该在SELEC

我是SQL的新手。我面临的问题是,我想从customer表中选择一个特定的名称John,但我将John存储在一个名为var_name的字符串中。现在有没有办法在select语句中使用这个变量名而不是编写John

对不起,我忘了详细解释这个问题

我有一个包含客户详细信息的表,其中客户名称是一个冒号,因此当用户单击客户名称冒号中的任何特定名称时,该名称将存储在名为var_name的变量中,我需要该特定客户名称的客户id,这是我在上面的问题中没有提到的问题。所以我希望在列中单击的随机值应该在SELECT语句中得到replace。如果用户单击John,您的查询将起作用,我想对上述问题进行一般查询

这里有一个例子

SELECT var_name -- this is what I've used, is there any other way to accomplish this?
FROM Customer
Where Customer_ID = '1234';
所以请帮我解决这个问题


谢谢大家!

将单个值包装在括号中选择,以便在另一个查询中使用其值:

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

如果您使用的是SQL server, 您可以实际声明您的变量名:

声明@var_name nvarchar50 SET@var\u name=从Customer\u ID='1234'中选择某个内容
从这里,你可以用@var_name做任何你想做的事

我希望这就是你想要的

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();

这是将值从数据库存储到字符串的一种方法。

哪种RDBMS?请更好地解释您的最终目标。请添加变量定义,以及您正在使用的RDBMS。我正在使用SQL server Management studio。您说您正在将客户名称存储到名为var_name的字符串中。所以你想把客户的名字写在代码后面?如果是这样,您使用的是哪种语言?我使用c获取用户单击的特定用户名,并将其存储回变量中。这只适用于SQL server,而OP尚未说明他们使用的是哪种RDBMS。@FrankSchmitt是的,我在回答中对其进行了修改。谢谢谢谢你,带着些许的同情,这个问题对我很有效,非常感谢杰基!祝你有美好的一天:@KarthikPB请不要在评论中添加其他信息。改为编辑你的问题有一个很好的按钮,叫做编辑:-完成了弗兰克:谢谢!