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

MySQL JOIN с LIMIT 1 върху обединена маса

Харесвам повече друг подход, описан в подобен въпрос:https://stackoverflow.com/a/11885521/ 2215679

Този подход е по-добър, особено в случай, че трябва да покажете повече от едно поле в SELECT. За да избегнете Error Code: 1241. Operand should contain 1 column(s) или двоен подизбор за всяка колона.

За вашата ситуация заявката трябва да изглежда така:

SELECT
 c.id,
 c.title,
 p.id AS product_id,
 p.title AS product_title
FROM categories AS c
JOIN products AS p ON
 p.id = (                                 --- the PRIMARY KEY
  SELECT p1.id FROM products AS p1
  WHERE c.id=p1.category_id
  ORDER BY p1.id LIMIT 1
 )


  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 база данни с помощта на SQL

  2. Поправете отказан достъп за потребител 'root'@'localhost' за phpMyAdmin

  3. Как да получите датата от колона Datetime в MySQL

  4. Повторно подчиняване на сринат MySQL главен сървър в настройка на полусинхронна репликация

  5. Намерете най-честата стойност в SQL колона