合并三个表合并为一个表

时间:2016-08-12 16:24:56

标签: sql postgresql view

我需要对三个表进行选择,然后在结果视图中包含每个选择的字段。这三个表是:

 Accounts Payable, Accounts Receivable, General Ledger

我想要的字段是:

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

结果视图类似于:

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

T是表格,F是选定的字段。

有没有办法对抗Postgresql?我查看了JOIN,但三个表之间没有链接。每个表都有一些针对GL帐户的交易。我需要的是一个打印输出,其中包含按日期顺序来自所有三个表的事务。实际问题是一张表是银行存款,一张是支票,另一张是服务费等。我需要打印出来的是日期顺序的银行对账单,包括存款,取款和混合。

2 个答案:

答案 0 :(得分:0)

您可以使用join(如果表之间的键匹配,则为内部匹配,如果不匹配,则为左侧)

 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) 

您应该查看表格架构以获取正确的密钥

这是一个教程https://www.postgresql.org/docs/8.3/static/tutorial-join.html

答案 1 :(得分:0)

如果您的GL表不一定在其他两个表中有条目,您也可以查看外连接。这里的T1将是你的GL表。

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)