2017-10-09 2 views
-3

verbinden Ich habe zwei Tabellennamen Einnahmen und Ausgaben. Ich möchte zwei Tabellen verbinden und die Daten zwischen den beiden Datumsbereichen erhalten.Wie zwei Tabellen mit wo zwischen Bedingung

Income     
=============   
id income_name  income_price income_date    
1 admission    30 2017-10-10 
2 hostel     40 2017-10-9 
3 bus     50 2017-10-7 

expenses     
============= 
id expenses_name  expenses_price expenses_date    
1 furniture    30 2017-10-9 
2 teacher     40 2017-10-8 
3 bus      60 2017-10-7 

Ich möchte die Daten von zwei Tabelle zwischen dem Datum 2017.10.06 abzurufen helfen Sie mir 2017-10-10.please. Ergebnis Tabelle
=============

id income_name  income_price  expense_name  expenses_price    
    1 admission   30    furniture  30 
    2 hostel   40     teacher  40 
    3 bus    50    bus   60 
+1

Möglicherweise benötigen Sie eine Union statt eine Verknüpfung, aber es ist nicht klar aus Ihrer Frage. Vielleicht könnten Sie Ihr erwartetes Ergebnis hinzufügen? –

+1

Probleme in der Hausarbeit müssen Anstrengungen zeigen, um Hilfe zu bekommen. Hast du schon etwas probiert? –

+0

Dies kann Ihnen helfen: https://www.w3schools.com/sql/sql_join.asp meinst du Vereinigung zwei Tabellen? – Ryosaku

Antwort

0

Verwenden union all Ergebnismengen der zwei Tabellen aus zu verbinden, in dem Sie die Daten bekommen. Unten ist die Abfrage.

select * 
from Income 
where date between '2017-10-6' and '2017-10-10' 
union all 
select * 
from expenses 
where date between '2017-10-6' and '2017-10-10'; 
+0

Bitte vermeiden Sie Code nur Antworten. Fügen Sie immer eine kurze Beschreibung hinzu. – Alex

+0

Funktioniert nicht. Ich habe die Ergebnistabelle hinzugefügt. Bitte finden Sie diese und geben Sie mir Lösung –

+0

Bitte teilen Sie Ihre gewünschte Ausgabe. –

2

können Sie den Vereinigungsoperator verwenden, um die Ergebnismenge von zwei oder mehr Abfragen standardmäßig

Select * from income where (date between 'your_start_date' and 'your_end_date') 
UNION 
Select * from expenses where (date between 'your_start_date' and 'your_end_date') 

Der UNION Bediener wählt nur unterschiedliche Werte zu verschmelzen. Um doppelte Werte zuzulassen, verwenden Sie UNION ALL

+0

Union funktioniert nicht –

+0

Können Sie mir die Abfrage zeigen, was Sie versucht haben? –

+0

SELECT i.income_title, i.income_price, e.expenses_title, expenses_.price Vom Einkommen i LEFT JOIN Ausgaben e auf i.income_date = e.expense_date WHERE i.income_date ZWISCHEN '2017-10-6' UND '2017-10- 10 ' –

Verwandte Themen