【发布时间】:2015-06-18 23:16:40
【问题描述】:
我有一张products 的桌子,里面有很多variants。 variant 有零到多个 images。
+---------+
| Product |
+---------+
1|
|
|1..n
+---------+
| Variant |
+---------+
1|
|
|0..n
+---------+
| Image |
+---------+
我需要更新所有products,其中没有一个variants 有任何images。我可以使用以下查询找到所有products,其中一些variants 没有images:
SELECT
DISTINCT `p`.*
FROM `sylius_product` AS `p`
JOIN `sylius_product_variant` AS `v` ON `v`.`product_id` = `p`.`id`
LEFT JOIN `sylius_product_variant_image` AS `i` ON `i`.`variant_id` = `v`.`id`
WHERE `i`.`id` IS NULL
但如果我没记错的话,结果集中包含两个变体的产品,一个有图像,一个没有。
我如何构造我的连接 / where 以便我只能检索 product 而所有 variants 都没有任何 images?
【问题讨论】: