sql server编写sql语句,表CMS_VEND中有字段WHSEID,BTSTAT,要求按WHSEID分组,分组后,判断BTSTAT,如果组内BTSTAT有A数值,则这组BTSTAT显示A,否则显示T
时间: 2023-09-22 16:07:36 浏览: 132
SQL 必知必会 10 - 分组数据1
您可以使用以下 SQL 语句实现您的需求:
```
SELECT WHSEID,
CASE WHEN COUNT(CASE BTSTAT WHEN 'A' THEN 1 ELSE NULL END) > 0
THEN 'A'
ELSE 'T'
END AS BTSTAT
FROM CMS_VEND
GROUP BY WHSEID;
```
这里使用了 CASE 表达式和聚合函数 COUNT,COUNT 函数用于统计每个组内 BTSTAT 字段为 A 的数量,如果数量大于 0,则该组对应的 BTSTAT 字段显示 A,否则显示 T。
阅读全文