【发布时间】:2023-01-12 06:08:12
【问题描述】:
下面是一个示例表,我试图找出一种方法来编写查询,如果每个 ID 行的所有 STOCK 单元格都为空,则在 READY 下的每个单元格中放置一个 Y。因此,Y 只会出现在 ID 1 的 READY 列中,因为 OS 位于每个其他 ID 的列之一中。
| ID | STOCK | READY |
|---|---|---|
| 1 | ||
| 1 | ||
| 1 | ||
| 2 | OS | |
| 2 | ||
| 2 | ||
| 3 | OS | |
| 3 |
我的第一个想法是使用 case 语句,但在每个包含空白 STOCK 的列中放置一个 Y,而不是检查每个 ID 的所有 STOCK 是否为空。有什么想法可以实现吗?
SELECT ID,
STOCK,
CASE WHEN STOCK = '' THEN 'Y'
ELSE '' END AS [READY]
FROM TABLE
【问题讨论】:
标签: sql sql-server