sql >> Databasteknik >  >> RDS >> Mysql

Begränsa resultat från sammanfogade tabeller till en rad

SELECT p.*, ph.*
FROM products AS p
INNER JOIN product_photos AS ph
    ON p.product_id = ph.product_id
LEFT JOIN product_photos AS ph2
    ON p.product_id = ph2.product_id
    AND ph2.photo_order < ph.photo_order
WHERE ph2.photo_order IS NULL
ORDER BY p.product_title ASC

Notera hur den ansluts till tabellen product_photos två gånger. WHERE ph2.photo_order IS NULL kommer att kasta ut alla utom den lägsta fotoordningen. Det kommer dock inte att skydda dig mot duplicate product_id / photo_orders combo men du kan lägga till en GROUP BY på p.id om så är fallet.



  1. Lär dig hur du använder CASE-sats i SQL

  2. Oracle E-Business Suite Architecture i 12.2

  3. Villkorlig INFOGA I MySQL - DÄR INTE FINNS

  4. Kul med (columnstore) komprimering på ett väldigt stort bord – del 3