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

SQL-Abfrage zum Auswählen unterschiedlicher Zeilen aus der linken Tabelle nach der inneren Verknüpfung mit der rechten Tabelle

Ihre Abfrage sollte wie folgt aussehen:

$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
"

Ein bisschen Erklärung. Wenn Sie zwei Tabellen verknüpfen, erhalten Sie alle Zeilen aus der Tabelle sizes für alle id aus der Tabelle products , also id =1 verknüpft mit vier Datensätzen und id =2 verknüpft mit zwei Datensätzen. Sie müssen diese Zahlen also zu einem Datensatz zusammenfassen.