0

我正在用 ASP.NET/SQL Server 2012 构建一个网站。

我的问题是,我有包含以下字符串的下拉框作为示例。

<asp:ListItem>Doesn't matter</asp:ListItem>
<asp:ListItem>I don't drink</asp:ListItem>
<asp:ListItem>Occasionally/Socially</asp:ListItem>                
<asp:ListItem>I party hard</asp:ListItem> 

为了能够使用像这样的伪逻辑,我需要什么样的 SQL 命令。

If SelectedItem is 'Doesn't Matter' return all rows in column
ELSE IF
Retrieve records in column where drinking_habit = ListItem.

我不想使用简单的 IF ELSE 存储过程,因为我有很多可用的过滤选项,并且使 else 看起来设计得很糟糕。

非常感谢!

4

1 回答 1

1

WHERE与 一起使用OR

SELECT IdCol, TextCol
FROM dbo.Table
WHERE @TextCol = 'Doesnt matter' OR TextCol = @TextCol

TextCol只有当参数不同于 时才会评估这种方式Doesn't matter

请注意,我仅出于演示目的使用了文本值。您应该使用IdCol代替(文本无论如何都可以更改)。

于 2013-10-14T11:16:22.133 回答