sql >> Databasteknik >  >> RDS >> Mysql

MySQL multipla kopplingar till samma tabell

Baserat på din kommentar om att sida1, sida2.. är kolumner för främmande nycklar, tror jag att det är enkelt.

Något i stil med:

SELECT 
    s.unique_id, s.counter, s.sequence_length, s.yearmonth, 
    s.mod_date_stamp,
    pg1.page_url as page1, pg2.page_url as page2, 
    pg3.page_url as page3, pg4.page_url as page4, 
    pg5.page_url as page5
FROM 
    session s
LEFT JOIN 
    sessionpage pg1 ON pg1.unique_id = s.page1 
LEFT JOIN 
    sessionpage pg2 ON pg2.unique_id = s.page2
LEFT JOIN 
    sessionpage pg3 ON pg3.unique_id = s.page3
LEFT JOIN 
    sessionpage pg4 ON pg4.unique_id = s.page4
LEFT JOIN 
    sessionpage pg5 ON pg5.unique_id = s.page5

Jag tror att det här kommer att fungera.

Men när det inte finns något värde på kolumnen (vid tabellsessionen) bör du använda null istället för 0 (noll).

Ett annat tips, på SELECT-satsen, om du inte vill ha NULL-värden kan du använda:

COALESCE(pg5.page_url, ' ') as page5



  1. Sök telefonnummer från MYSQL DB

  2. Vad är skillnaden mellan django.db.backends.dummy och django.db.backends.mysql?

  3. Hur man skriver flera kolumner i klausul med sqlalchemy

  4. Jämför Percona XtraBackup med MySQL Enterprise Backup:Del ett