【发布时间】:2022-01-05 21:22:12
【问题描述】:
我有一个包含以下列的 MS-SQL 表:
ID, SKU, StockID, StockQTY
列/行填充如下:
| ID | SKU | StockID | StockQTY |
|---|---|---|---|
| 1 | 1111 | 1 | 12 |
| 2 | 1111 | 13 | 20 |
| 3 | 2222 | 1 | 0 |
| 4 | 2222 | 13 | 5 |
| 5 | 3333 | 1 | 0 |
| 6 | 3333 | 13 | 4 |
现在我需要一个 SQL 查询来显示所有具有 StockQTY = 0 in StockID = 1 AND a StockQTY > 1 in StockID 13 的 SKU(第二列)。不应显示所有其他行(在此示例中,结果中不应显示第 1 行和第 2 行)。
有人知道如何实现这一点吗?
【问题讨论】:
-
为什么不显示第2行?
-
MySQL(在标签中) MS SQL(在文本中)
-
请分享您解决问题的尝试
-
您需要使用 exists 将 SKU 与自加入相关联。不幸的是,问题现已关闭 - 建议您对其进行编辑并明确定义您的预期结果,然后它可能会重新打开。
标签: sql sql-server database