0
我有了許多Sku
個Product
模型,並且每個產品還可以具有包括被一個特色Customization
。模式是這樣的:SQL:在一個過濾JOIN而排序上的另一
Product
| id | category_id | title | image |
Sku
| id | product_id | subtitle | price |
Customization
| id | product_id | title | featured |
我過濾/基於其CATEGORY_ID及其Sku
S的像這樣的價格排序Product
:
SELECT id, title, image, prices
FROM (
SELECT p.id, p.title, p.image, array_agg(s.price) as prices
FROM "Products" p
JOIN "Skus" s
ON p.id = s.product_id
WHERE p.category_id in (1,2,3,4) AND s.price > 99
GROUP BY p.id
) x
ORDER BY id DESC;
我想添加額外的過濾器對於Product
s,其Customization
s有featured = true
。
是否可以包含另一個JOIN
來做到這一點,還是有更好的方法?
謝謝,這個偉大工程,提高了我原來的查詢,以及:第二,你可以用一個
JOIN
(或IN
或EXISTS
)做到這一點! – tyler