Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MYSQL łączy widok dwóch tabel o różnej liczbie rekordów wpisów

Chciałeś stworzyć unię SALE i EXPENSE ale skończyło się na utworzeniu sprzężenia. Wspomniałeś, że dane z SALE jest w porządku , ale to też nie jest prawdą.

Zapoznaj się z tym samouczkiem aby dowiedzieć się trochę o sprzężeniach. Twoje zapytanie wygląda mniej więcej tak:

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

Jest to składnia sprzężenia, podobnie jak w przykładzie w powyższym łączu.

Musisz wykonać UNION operacja na rzędach obu tabel. Zobacz [ten samouczek] na temat UNION operacje w MySQL. Potrzebne zapytanie znajduje się poniżej:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak samodzielnie zaktualizować PHP+MySQL CMS?

  2. Alternatywa dla operacji bitowej

  3. Wypełnij tabele bazy danych dużą ilością danych testowych

  4. Dziwne wszystko gdziekolwiek?

  5. NodeJS odpowiedział, że strefa czasowa MySQL jest inna, gdy pobieram bezpośrednio z MySQL