Mysql
 sql >> база данни >  >> RDS >> Mysql

Ограничете резултатите от обединена таблица до един ред

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

Забележете как се присъединява към таблицата product_photos два пъти. WHERE ph2.photo_order IS NULL ще изхвърли всички снимки освен най-ниската поръчка. Въпреки това няма да ви предпази от дублирана комбинация product_id / photo_orders, можете да добавите GROUP BY на p.id, ако това е така.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Пространствен индекс в MySQL - ГРЕШКА - Не може да се получи геометричен обект от данните, които изпращате в полето GEOMETRY

  2. Има ли причина MySQL да не поддържа FULL OUTER JOINS?

  3. СЪЗДАЙТЕ ТИП на MySQL

  4. Клауза INNER JOIN ON срещу WHERE

  5. пренасочва 404 към подобни URL адреси