我有以下架构:
product: id , title
client: id, name
client_has_product:id, id_product, id_client, date.
我想获取不属于某个客户的所有产品的列表。
我正在运行以下查询:
SELECT DISTINCT product.id, product.title, client.id
FROM product,client
WHERE product.id NOT IN (
SELECT id_product FROM client_has_product WHERE id_client = 1)
GROUP BY product.id
问题是,如果 client_has_product 表为空,则查询不会返回任何内容,但如果 client_has_product 表中甚至只有一行,则查询有效。
有人可以解释一下我在这里缺少什么和/或为什么会这样吗?