SQL查询 - SELECT WHERE Table1.ID = Table2.ID AND Table2.Var = @Var

时间:2014-11-27 13:55:07

标签: sql asp.net webforms

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

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

很明显我不知道怎么说这个问题,这是我试图做的简化例子:

  • 我的网站有一个会话变量,用于保存用户“过滤”的当前颜色。
  • 下拉列表将显示使用SQL查询对应于该颜色的汽车列表。

例如,如果会话变量为“Blue”,则下拉列表将包含“Punto”,因为它可以看到“Blue”的颜色ID为12,而“Punto”是与该颜色对应的唯一汽车名称。 / p>

链接图片:http://i.imgur.com/fe9L12c.png

enter image description here

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

道歉我不得不把它说成是一个测验问题;给出一个简单的例子是我能够真正阐述我的问题的唯一方法。

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

SELECT Cars.* FROM Colours 
INNER JOIN Cars 
ON Colours.ID = Cars.ColourID
WHERE Colours.Name = @Variable

答案 2 :(得分:0)

您可以使用SQL联接来实现此目的。使用以下sql查询: -

声明@ExternalVar VARCHAR(50)=' Blue'

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