2013-12-15 58 views
0

我正在製作「搜索廣告資源」網頁,需要一些幫助。有條件地爲不同的數量值返回不同的描述文字?

這個查詢的偉大工程:

SELECT  TOP (20) [FederalStockNum], [Quant1] 
FROM   [FederalStockCards-Detail] 
WHERE  (FederalStockNum LIKE '%SEARCH-KEYWORD%') 

它搜索庫存帶來了基於搜索的關鍵字類似的結果,並返回這樣的事情:

______________________________________ 
    | Federal Stock Number......|Quantity.| 
    |_____________________________________| 
    | 5305-00-060-9995..........|.......24| 
    | 5305-00-060-9996..........|.....5500| 
    | MS15795-543...............|.......50| 
    | MS21098-83................|........0| 

到目前爲止好,但是這暴露該公司的確切庫存是不恰當的。我可以更改SQL語句來返回類似這樣的內容嗎?

______________________________________ 
    | Federal Stock Number......|Quantity.| 
    |_____________________________________| 
    | 5305-00-060-9995..........|IN STOCK | 
    | 5305-00-060-9996..........|IN STOCK | 
    | MS15795-543...............|IN STOCK | 
    | MS21098-83................|SOLD OUT | 

回答

1

您可以使用一個CASE expression

SELECT  TOP (20) [FederalStockNum], 
(case when [Quant1]>0 then 'IN STOCK' else 'OUT OF STOCK' end) as Quant1 
FROM   [FederalStockCards-Detail] 
WHERE  (FederalStockNum LIKE '%SEARCH-KEYWORD%') 

這也將工作,如果你想與聚合函數(GROUP BYSUM例如)工作。