sql >> Base de Datos >  >> RDS >> Mysql

Vista combinada de MYSQL de dos tablas que tienen un número diferente de registros de entrada

Querías crear una unión de SALE y EXPENSE pero terminó creando una unión. Usted mencionó que los datos de SALE esta bien , pero eso tampoco es cierto.

Consulte este tutorial para aprender un poco sobre las uniones. Su consulta dice más o menos así:

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

Esta es la sintaxis para una combinación muy parecida a la del ejemplo en el enlace anterior.

Lo que necesitas realizar es una UNION operación en las filas de ambas tablas. Ver [este tutorial] en UNION operaciones en MySQL. La consulta que necesita está a continuación:

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