我的表看起來像下面顯示的 我有一個查詢,它與匹配OrderType
列的OrderType數據。假設我設置變量爲'Delivery'它返回我2,我想如果我通過'所有」,這是不是在列返回我充滿column.Guide我的所有數據如何獲取的所有數據。對於演示http://sqlfiddle.com/#!6/bcff9/2如果在Where子句Sql Server
0
A
回答
0
如果你只是想返回所有的所有記錄的OrderType
和COUNT
,只需添加OR @argument = 'All'
到您的SQL查詢:
SELECT OrderType, COUNT(OrderType) AS [Count]
FROM [Order]
WHERE OrderType = @argument
OR @argument = 'All'
GROUP BY OrderType
小提琴:http://sqlfiddle.com/#!6/8e718
如果你的意思是你想只是返回一行All
與一切的總和,但它會變得有點棘手:
SELECT
CASE @argument
WHEN 'All' THEN 'ALL'
ELSE OrderType
END [OrderType],
COUNT(*) AS [Count]
FROM [Order]
WHERE OrderType = @argument
or @argument = 'All'
GROUP BY
CASE @argument
WHEN 'All' THEN 'ALL'
ELSE OrderType
END
0
您可以添加到您的where子句:
or (@argument='All' and 1=1)
它將使用您的初始'OrderType = @argument',但如果@argument是'全部',那麼它將顯示一切。
+0
我想你不需要和1 = 1 ... – jle
相關問題
- 1. SQL Server WHERE子句
- 2. WHERE子句中的SQL Server結果列
- 3. IF在SQL Server語句的where子句
- 4. SQL Server 2012 - Case語句在where子句
- 5. SQL Server動態WHERE子句
- 6. sql server-conditional where子句
- 7. SQL Server的WHERE子句
- 8. sql server datetime where子句
- 9. SQL Server WHERE子句 - 建議
- 10. 與where子句的SQL Server
- 11. 如果在where子句中 - SQL
- 12. 如果在SQL查詢的WHERE子句
- 13. 在SQL Server消除DateDiff的where子句
- 14. SQL Server添加在空where子句
- 15. 只有在where子句(SQL Server)的
- 16. SQL Server CASE何時在WHERE子句中
- 17. SQL Server - 在WHERE子句中使用CASE
- 18. IF ELSE在where子句中的SQL Server
- 19. switch case在where子句sql server 2005
- 20. MySQL如果在Where子句
- 21. 如果在where子句
- 22. 如何在SQL WHERE子句
- 23. SQL在WHERE子句
- 24. SQL:在 'where子句'
- 25. SQL在WHERE子句
- 26. T-SQL基於WHERE子句的結果的條件WHERE子句
- 27. SQL Where子句
- 28. Sql where子句
- 29. SQL Server 2005 - 構建WHERE子句
- 30. WHERE子句中的SQL Server浮點數
感謝Yuck格式化 –