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

Záludný příkaz SQL přes 3 tabulky

Výchozí hodnoty můžete zadat jako konstanty v příkazech select pro sloupce, kde nemáte žádná data;

takže

SELECT Date, User, Amount, 'NotApplicable' as Who, 'NotApplicable' as What from t1 where user = 'me'
UNION
SELECT Date, User, Amount, Who, 'NotApplicable' from t2 where user = 'me'
UNION
SELECT Date, User, Amount, 'NotApplicable', What from t3 where user = 'me'

což předpokládá, že Who And What jsou sloupce typu řetězec. Můžete použít i Null, ale je potřeba nějaký zástupný symbol.

Domnívám se, že umístění vašich dodatečných informací do samostatné tabulky a ponechání všech transakcí v jedné tabulce vám však bude fungovat lépe, pokud zde nejsou nějaké další podrobnosti, které jsem přehlédl.



  1. SQL Server VYBRAT DO @proměnná?

  2. Seřaďte podle maximální hodnoty ve třech různých sloupcích

  3. Seznam datových typů v SQL Server 2017

  4. MariaDB SYSTEM_USER() vysvětleno