sql >> Databasteknik >  >> RDS >> Mysql

Knepig SQL-sats över 3 tabeller

Du kan ange standardvärden som konstanter i urvalssatserna för kolumner där du inte har några data;

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'

som förutsätter att Vem och vad är kolumner av strängtyp. Du skulle kunna använda Null också, men någon form av platshållare behövs.

Jag tror att det fungerar bättre för dig att placera din ytterligare information i en separat tabell och behålla alla transaktioner i en enda tabell, om det inte finns någon annan detalj som jag har missat.



  1. Gjut int till varchar

  2. Laravel:få ett enda värde från en MySQL-fråga

  3. Korrekt metod för att ta bort över 2100 rader (med ID) med Dapper

  4. Använd PARSENAME() för att returnera en del av ett objektnamn i SQL Server