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

SQL-forespørgsel for at vælge forskellige rækker fra venstre tabel efter indre joinforbindelse til højre tabel

Din forespørgsel skal være sådan:

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

Lidt forklaring. Når du forbinder to tabeller, får du alle rækker fra tabel sizes for alle id fra tabel products , så id =1 sammenføjet med fire poster og id =2 sammenføjet med to poster. Så du skal samle disse tal i én post.




  1. mysql ordre af med union ser ikke ud til at virke

  2. Hvordan kan jeg logge og finde de dyreste forespørgsler?

  3. Anonym TABLE- eller VARRAY-type i Oracle

  4. Brug CASE, WHEN, THEN, END i en udvalgt forespørgsel med MySQL