2016-08-12 2 views
-1

Merge Ich muss eine Auswahl auf drei Tabellen, dann in der resultierenden Ansicht haben die Felder von jedem auswählen. Die drei Tabellen sind:Doing eine Auswahl auf drei Tabellen in eine

Accounts Payable, Accounts Receivable, General Ledger 

Die Felder Ich möchte sind:

ID, Paid, PaidDate, source, or some variation from each table. 

Die resultierende Ansicht so etwas wie wäre:

T1F1, T1F2, T1F3, T1F4, T2F1, T2F2, T2F3, T2F4, T3F1, T3F2, T3F3, T3F4 

Es T ist die Tabelle, und F die ausgewähltes Feld.

Gibt es eine Möglichkeit, mit Postgresql zu tun? Ich schaute auf JOIN, aber es gibt keine Verbindungen zwischen den drei Tabellen. Jede Tabelle enthält einen Teil der Transaktion für einen FIBU-Account. Was ich brauche, ist ein Ausdruck, der die Transaktionen aus allen drei Tabellen in der Datumsreihenfolge enthält. Das eigentliche Problem ist eine Tabelle ist Einlagen bei der Bank, man ist Schecks geschrieben, der andere ist Service-Gebühren usw., die ich ausdrucken muss ist eine Art Kontoauszug in der Reihenfolge der Bestellung einschließlich Einzahlungen, Auszahlungen und misc.

+0

http://www.w3schools.com/sql/sql_join.asp Informationen zu Joins – Matt

Antwort

0

Sie können mit join (innere, wenn der Schlüssel zwischen dem Tabellen eber Spiel, links, wenn nicht)

select T1F1, T1F2, T1F3, T1F4, T2F1, T2F2, T2F3, T2F4, T3F1, T3F2, T3F3, T3F4 
from TF1 
INNER JOIN T2 ON (T1.Key = T2.Key) 
INNER JOIN T3 ON (T1.key = T3.Key) 

Sie in Ihrem Tabellenschema aussehen sollte für getb der richtige Schlüssel

dies ist ein Tutorial https://www.postgresql.org/docs/8.3/static/tutorial-join.html

0

Sie können auch einen Outer-Join ausführen, wenn Ihre GL-Tabelle nicht unbedingt Einträge in den anderen beiden Tabellen enthält. T1 wäre hier Ihr GL-Tisch.

select T1F1, T1F2, T1F3, T1F4, T2F1, T2F2, T2F3, T2F4, T3F1, T3F2, T3F3, T3F4 
from TF1 
LEFT OUTER JOIN T2 ON (T1.Key = T2.Key) 
LEFT OUTER JOIN T3 ON (T1.key = T3.Key)