![](/img/trans.png)
[英]SQL Server query to return 1 if value exist in a column else return 0
[英]SQL query to find the sum of fields in a column if a condition matches else return a default value
我需要以下情況的SQL查詢
House| SquareFoot| Color
House1 10 White
House2 20 White
僅當“顏色”字段中的所有值都相同時,查詢才應給出SquareFoot(30)的總和。 否則,在以下情況下,它應返回(0)
House| SquareFoot| Color
House1 10 White
House2 20 Red
請讓我知道可以通過SQL實現的最佳方法
您似乎想要:
SELECT (CASE WHEN MIN(Color) = MAX(Color)
THEN SUM(SquareFoot)
ELSE 0
END) as return_value
FROM t;
在這里,首先我們將從計數中檢查是否非重復值= 1,然后總計將為sum(SquareFoot),或者如果非重復計數不為= 1,則總計將為0
select iif((select COUNT(distinct(Color)) from tblName) = 1, sum(SquareFoot), 0) as Total from tblName
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.