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

Plné spojení (My)SQL se třemi tabulkami

Pokud vím, v MySql není žádné úplné vnější spojení. Chcete-li tedy provést to, co požadujete, měli byste získat odlišná ID v odvozené tabulce a původních tabulkách levého spojení:

select ids.id,
       ifnull(table1.A, 0) A,
       ifnull(table2.B, 0) B,
       ifnull(table3.C, 0) C,
       ifnull(table1.A, 0) + ifnull(table2.B, 0) - ifnull(table3.C, 0) R
  from 
  (
    select id
      from table1
    union
    select id
      from table2
    union
    select id
      from table3
  ) ids
  left join table1
    on ids.id = table1.id
  left join table2
    on ids.id = table2.id
  left join table3
    on ids.id = table3.id


  1. Řetězec do joda LocalDate ve formátu dd-MMM-rr

  2. Najděte nejbližší datum k zadanému datu v dotazu mysql

  3. Odstranění výchozího trasování – část 2

  4. Nainstalujte PostgreSQL na Ubuntu 20.04