Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wiele sprzężeń MySQL do tej samej tabeli

Na podstawie Twojego komentarza, że ​​page1, page2.. są kolumnami kluczy obcych, myślę, że to proste.

Coś takiego:

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

Myślę, że to zadziała.

Ale gdy nie ma wartości w kolumnie (w sesji tabeli), należy użyć null zamiast 0 (zero).

Kolejna wskazówka dotycząca instrukcji SELECT, jeśli nie chcesz wartości NULL, możesz użyć:

COALESCE(pg5.page_url, ' ') as page5



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Równoległe zapytania mysql w php?

  2. mysql usuń w trybie awaryjnym

  3. Problemy z Ruby on Rails z prowizją

  4. Zapytanie Mysql używające where i group by

  5. Jak wymusić unikalność w tabeli?