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

MySQL JOIN med LIMIT 1 på sammenføjet bord

Jeg kan mere lide en anden tilgang beskrevet i et lignende spørgsmål:https://stackoverflow.com/a/11885521/ 2215679

Denne tilgang er bedre, især hvis du har brug for at vise mere end ét felt i SELECT. For at undgå Error Code: 1241. Operand should contain 1 column(s) eller dobbelt undervælg for hver kolonne.

For din situation skal forespørgslen se sådan ud:

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. Hurtigste metode til SQL Server-indsættelser, opdateringer, valg

  2. ORA-01219:database ikke åben:forespørgsler er kun tilladt på faste tabeller/visninger

  3. At spise vores eget hundefoder – Kører JIRA på MariaDB

  4. Konverter NULL-værdier til kolonnens standardværdi ved indsættelse af data i SQLite