我们有一个数据库,其中一列标有“pr_label”和“pr_quantity”。当我们查询我们的信息时,标记为“C1”和“C2”的项目显示。下面是我们在SQL命令中使用的代码
'pr_label' IN ('C1', 'C2')
但是现在我们要添加一个额外的规则,我们要在“pr_quantity”中显示所有“C1”项目和仅显示值大于零的“C2”项目。因此,如果我们应用这些规则,下表将仅显示900,901,902和903的信息。由于'pr_quantity'== 0,因此不会显示904和905。
=====================================
pr_id | pr_label | pr_quantity |
=====================================
900 | C1 | 4 |
901 | C1 | 4 |
902 | C1 | 4 |
903 | C2 | 4 |
904 | C2 | 0 |
905 | C2 | 0 |
=====================================
我正在尝试下面的代码,但它适用于“C1”和“C2”。
`pr_quantity ` > 0
答案 0 :(得分:3)
你应该能够简单地说:
WHERE (pr_label = 'C1')
OR (pr_label = 'C2' AND pr_quantity > 0)
答案 1 :(得分:1)
回答这个问题
我们希望显示所有" C1"只有" C2"有物品的物品 " pr_quantity"
中的值大于零
以下查询会很方便(我将其称为产品表)
SELECT
*
FROM PRODUCT
WHERE
pr_label = 'C1' OR (pr_label = 'C2' AND pr_quantity > 0)