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

Wie wähle ich über zwei Tabellen aus?

Verbinden Sie sich einfach dreimal mit Tabelle2, indem Sie in der JOIN-Klausel nach var_name filtern.

SELECT t.parent_id, 
       t.id, 
       t.name, 
       t.quality, 
       t.price, 
       c.VALUE AS color, 
       s.VALUE AS size, 
       r.VALUE AS rating 
FROM   table1 t 
       LEFT JOIN table2 c 
         ON t.parent_id = c.parent_id 
            AND c.var_name = 'color' 
       LEFT JOIN table2 s 
         ON t.parent_id = s.parent_id 
            AND s.var_name = 'size' 
       LEFT JOIN table2 r 
         ON t.parent_id = r.parent_id 
            AND r.var_name = 'rating'