sql >> Databáze >  >> RDS >> Mysql

Vícenásobné připojení MySQL ke stejné tabulce

Na základě vašeho komentáře, že page1, page2.. jsou sloupce cizích klíčů, si myslím, že je to jednoduché.

Něco jako:

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

Myslím, že to bude fungovat.

Ale když ve sloupci (v relaci tabulky) není žádná hodnota, měli byste použít null místo 0 (nula).

Další tip na příkaz SELECT, pokud nechcete hodnoty NULL, můžete použít:

COALESCE(pg5.page_url, ' ') as page5



  1. Jak smažu jeden ze dvou duplicitních řádků dat v Postgresu?

  2. Existuje chytrý způsob, jak spustit více dotazů v mysql oddělených středníkem;

  3. Android :Chyba Sqlite - (1) blízko null:chyba syntaxe

  4. Jak PŘIDAT NÁZEV OMEZENÍ k již EXISTUJÍCÍMU OMEZENÍ