Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL JOIN con LIMIT 1 su una tabella unita

Mi piace di più un altro approccio descritto in una domanda simile:https://stackoverflow.com/a/11885521/ 2215679

Questo approccio è migliore soprattutto nel caso in cui sia necessario mostrare più di un campo in SELECT. Per evitare Error Code: 1241. Operand should contain 1 column(s) o fai una doppia selezione per ogni colonna.

Per la tua situazione, la query dovrebbe essere simile a:

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
 )