2013-10-14 46 views
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命令,以便能夠使用邏輯這樣pseduo。

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

我不希望因爲我有很多很多的過濾選項可用,讓其他人似乎實在太差了設計使用一個簡單的if else存儲過程。

非常感謝!

回答

1

使用WHEREOR:如果參數比Doesn't matter不同

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

在這樣TextCol將只進行評估。

請注意,我僅將文本值用於演示目的。你應該使用IdCol而不是(文字可以改變)。

+0

,如果您確實'''在你的價值,然後用這個'選擇IdCol,TextCol FROM dbo.Table WHERE @TextCol = '那並不事' OR TextCol = @ TextCol' – Dhaval

+0

@Dhaval:這就是爲什麼我已經明確提到了'parameters'和'IdCol'。你也可以使用子查詢,如'.. =(SELECT習慣名稱從dbo.DrinkingHabits WHERE idDrinkingHabit = 1)' –

+0

對不起@tim你是對的我還沒有看到整個問題,直到現在.. – Dhaval

相關問題