我有一个产品表:
CREATE TABLE products (`id` INT);
以下是这些产品的图片表格:
CREATE TABLE images (`id` INT, `product_id` INT, `default` TINYINT(1));
我需要选择所有产品,并加入图片表,使带有(
default
= 1)的图像优先显示,如果某个产品没有带有(default
= 1)的图像,则应在其位置显示具有(default
= 0)的图像。
这里是显示我所寻找内容的图片:
目前我有以下查询语句:
SELECT p.id, i.id
FROM products AS p
LEFT JOIN (
SELECT product_id, url
FROM images
ORDER BY default
) AS i
ON p.id = i.product_id
GROUP BY p.id
ORDER BY p.name
这并没有优先考虑“默认”图片。子查询似乎没有起到任何作用。