Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL JOIN mit LIMIT 1 in der verknüpften Tabelle

Ich mag eher einen anderen Ansatz, der in einer ähnlichen Frage beschrieben wird:https://stackoverflow.com/a/11885521/ 2215679

Dieser Ansatz ist besonders dann besser, wenn Sie mehr als ein Feld in SELECT anzeigen müssen. Um Error Code: 1241. Operand should contain 1 column(s) oder doppelte Unterauswahl für jede Spalte.

Für Ihre Situation sollte die Abfrage wie folgt aussehen:

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
 )