sql >> Databasteknik >  >> RDS >> Mysql

Hur väljer man över två tabeller?

Gå bara med i tabell2 tre gånger och filtrera efter var_name i JOIN-satsen.

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' 


  1. System.Data.OracleClient kräver Oracle-klientprogramvara version 8.1.7

  2. Uppföljning av marköralternativ

  3. MySQL-fel För många anslutningar

  4. INFORMATION_SCHEMA vs sysobjects