sql >> Databasteknik >  >> RDS >> Mysql

SQL-fråga för att välja distinkta rader från vänster tabell efter inre koppling till höger tabell

Din fråga bör vara så här:

$query = "
    select t1.id, t1.title, t1.description, group_concat(t2.size SEPARATOR ",") as sizes
    from products as t1
       inner join sizes as t2 on t1.id=t2.id
    where t1.id in (select t3.id from sizes as t3 where t3.size in (".$size_list .")
    group by t1.id, t1.title, t1.description
"

Lite förklaring. När du sammanfogar två tabeller får du alla rader från tabellen sizes för alla id från tabellen products , så id =1 sammanfogad med fyra poster och id =2 sammanfogad med två poster. Så du måste samla dessa siffror i en post.




  1. Att byta från varchar till mediumtext orsakar prestandaförsämring

  2. Säkerhetskopiera en tabell med en GEOMETRY-kolumn med mysqldump?

  3. Uppdatera en lista med saker utan att trycka på varje post

  4. PL/SQL ORA-01422:exakt hämtning returnerar fler än begärt antal rader