sql >> Database >  >> RDS >> Mysql

Lastige SQL-instructie over 3 tabellen

U kunt standaardwaarden als constanten in de select-instructies opgeven voor kolommen waar u geen gegevens hebt;

dus

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'

die ervan uitgaat dat Wie en wat kolommen van het tekenreekstype zijn. Je zou ook Null kunnen gebruiken, maar er is een soort tijdelijke aanduiding nodig.

Ik denk dat het beter voor je zal zijn om je aanvullende informatie in een aparte tabel te plaatsen en alle transacties in één tabel te houden, tenzij er een ander detail is dat ik over het hoofd heb gezien.



  1. Foutbericht 7325 in SQL Server oplossen:"Objecten die kolommen met CLR-typen weergeven, zijn niet toegestaan ​​in gedistribueerde query's"

  2. Langzame volgorde van zoekopdrachten door een kolom in een samengevoegde tabel

  3. Hoe geef je een argument door aan een PL/SQL-blok in een sql-bestand met de naam START in sqlplus?

  4. WordPress opgestelde verklaring met IN() voorwaarde