Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL множество присъединявания към една и съща таблица

Въз основа на вашия коментар, че page1, page2... са колони с външни ключове, мисля, че е просто.

Нещо като:

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

Мисля, че това ще свърши работа.

Но когато няма стойност в колона (в сесия на маса), трябва да използвате null вместо 0 (нула).

Друг съвет, относно командата SELECT, ако не искате NULL стойности, можете да използвате:

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. Метод за вход за удостоверяване на токен с бисквитки

  2. Как да инсталирате flask-mysql за python3?

  3. Изчислете разликата във времето между две времеви марки в mysql

  4. Как да вмъкнете json масив в mysql база данни с php

  5. MySQL - изберете 3 таблици с правилен синтаксис за ляво присъединяване