起初我以为我可以在WHERE
查询的子句中使用 a CASE
(见下文)来完成此操作,但我在获得所需的结果时遇到了一些麻烦。此查询用于获取数据库中客户的产品信息。如果某个客户订购了某个产品,我根本不需要返回行。问题是如果我删除该产品,那么任何其他拥有该产品的客户都会出现,因为任何客户都可以订购该产品。我很难做到这一点。
Select
OrderNumber, Client, Product From Orders
WHERE
Product not in(CASE WHEN client = 'client_a' and product = 'product_1' THEN Product END)
希望看到这样的结果,重点是为除 client_a 之外的所有客户端显示 product_1:
ordernumber client product
123 client a product 2
456 client b product 1
789 client b product 2