sql >> Database >  >> RDS >> Mysql

MySQL JOIN met LIMIT 1 op samengevoegde tafel

Ik hou meer van een andere benadering die wordt beschreven in een vergelijkbare vraag:https://stackoverflow.com/a/11885521/ 2215679

Deze aanpak is beter, vooral als u meer dan één veld in SELECT moet weergeven. Om Error Code: 1241. Operand should contain 1 column(s) of dubbele subselectie voor elke kolom.

Voor uw situatie zou de Query er als volgt uit moeten zien:

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. TSQL md5-hash anders dan C# .NET md5

  2. BUITENLANDSE SLEUTEL OP DELETE RESTRICT-fout - Oracle

  3. MySQL controleren of een tabel bestaat zonder een uitzondering te genereren

  4. Converteer een Unix-tijdstempel naar een datumwaarde in Oracle