Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MYSQL-Kombinationsansicht von zwei Tabellen mit unterschiedlicher Anzahl von Eintragsdatensätzen

Sie wollten eine Vereinigung von SALE erstellen und EXPENSE aber am Ende erstellt eine Verknüpfung. Sie haben erwähnt, dass die Daten von SALE ist in Ordnung , aber das stimmt auch nicht.

Siehe dieses Tutorial um etwas über Joins zu lernen. Ihre Abfrage lautet ungefähr so:

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';

Dies ist die Syntax für einen Join, ähnlich wie im Beispiel im obigen Link.

Was Sie ausführen müssen, ist eine UNION Operation auf den Zeilen beider Tabellen. Siehe [dieses Tutorial] auf UNION Operationen in MySQL. Die Abfrage, die Sie benötigen, ist unten:

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';