sql >> Database >  >> RDS >> Mysql

MYSQL combineert weergave van twee tabellen met een verschillend aantal invoerrecords

Je wilde een unie creëren van SALE en EXPENSE maar heb uiteindelijk een join gemaakt. U zei dat de gegevens van SALE gaat goed , maar dat is ook niet waar.

Raadpleeg deze handleiding om iets over joins te leren. Uw vraag luidt ongeveer als volgt:

select Sale.Date,Sale.Description,Expense.Description,Sale.Amount,Expense.Amount 
from sale,expense 
where Sale.Date = Expense.Date and
Expense.Date='2014-09-01';

Dit is de syntaxis voor een join die veel lijkt op die in het voorbeeld in de bovenstaande link.

Wat je moet doen is een UNION bewerking op de rijen van beide tabellen. Zie [deze tutorial] op UNION bewerkingen in MySQL. De vraag die je nodig hebt staat hieronder:

select Sale.Date as Date,Sale.Description as SaleDescription,      
null as ExpenseDescription, Sale.Amount as SaleAmount, null as ExpenseAmount
from Sale where Sale.Date ='2014-09-01'
UNION ALL
select Expense.Date as Date, null as SaleDescription,      
Expense.Description as ExpenseDescription, null as SaleAmount, Expense.Amount as ExpenseAmount
from Expense where Expense.Date ='2014-09-01';



  1. Wat zijn de belangrijkste prestatieverschillen tussen varchar en nvarchar SQL Server-gegevenstypen?

  2. Hoe de PostgreSQL-foutlogboeken te decoderen

  3. 10 SP_EXECUTESQL Gotcha's om te vermijden voor een betere dynamische SQL

  4. Hoe kan het instellen van een tijdstempel een langzame zoekopdracht zijn?