Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL查询-选择其中Table1.ID=Table2.ID和Table2.Var=@Var_Sql_Asp.net_Webforms - Fatal编程技术网

SQL查询-选择其中Table1.ID=Table2.ID和Table2.Var=@Var

SQL查询-选择其中Table1.ID=Table2.ID和Table2.Var=@Var,sql,asp.net,webforms,Sql,Asp.net,Webforms,我正在尝试使用两个表和一个会话变量为ASP NET下拉列表创建SQL查询 我想从表1中检索对应于表2中匹配ID的所有值,其中表2由外部变量过滤 很明显,我不知道如何用词来表达这个问题,下面是一个我试图做的简单例子: 我的网站有一个会话变量,它保存用户正在“过滤”的当前颜色 下拉列表将使用SQL查询显示与该颜色对应的汽车列表 例如,如果会话变量为“蓝色”,下拉列表将包含“Punto”,因为它可以看到“蓝色”的颜色ID为12,“Punto”是与该颜色对应的唯一汽车名称 链接图像: 由于会话变量

我正在尝试使用两个表和一个会话变量为ASP NET下拉列表创建SQL查询

我想从表1中检索对应于表2中匹配ID的所有值,其中表2由外部变量过滤

很明显,我不知道如何用词来表达这个问题,下面是一个我试图做的简单例子:

  • 我的网站有一个会话变量,它保存用户正在“过滤”的当前颜色
  • 下拉列表将使用SQL查询显示与该颜色对应的汽车列表
例如,如果会话变量为“蓝色”,下拉列表将包含“Punto”,因为它可以看到“蓝色”的颜色ID为12,“Punto”是与该颜色对应的唯一汽车名称

链接图像:

由于会话变量可以在ASP NET自定义查询中分配和调用,因此会话变量可以称为@ExternalVar(colors.ID,其中(colors.Name=@ExternalVar))


抱歉,我不得不把这当作一个问答题来回答;举一个简单的例子是我能真正清楚地表达我的问题的唯一方法。

如果我理解上面的问题,我认为这应该可以解决问题

select * from Cars c
inner join Colours cl  on c.colourID = cl.ID
where cl.Name = @ExternalVar

您可以通过使用SQL连接来实现这一点。使用以下sql查询:-

声明@ExternalVar VARCHAR(50)=“蓝色”

SELECT Cars.* FROM Colours 
INNER JOIN Cars 
ON Colours.ID = Cars.ColourID
WHERE Colours.Name = @Variable
Select C.Name FROM Cars C INNER JOIN Colours CO ON CO.ID = C.ColourId WHERE CO.Name = @ExternalVar