sql >> Database >  >> RDS >> Mysql

Beperk resultaten van samengevoegde tabel tot één rij

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

Let op hoe het twee keer wordt samengevoegd met de tabel product_photos. De WHERE ph2.photo_order IS NULL zal alles weggooien, behalve de laagste fotovolgorde. Het zal je echter niet beschermen tegen dubbele product_id / photo_orders combo, je zou een GROUP BY kunnen toevoegen op p.id als dat het geval is.



  1. ORA-00257:archieffout. Sluit alleen intern aan, totdat het wordt vrijgemaakt.

  2. MySQL-opdrachtregelclient voor Windows

  3. Hoe selecteer je alle kolommen in sql behalve één kolom?

  4. Alternatieven voor SQL Server Management Studio om tabellen te doorzoeken/bewerken en query's uit te voeren