我有一个包含帐户信息的表:

enter image description here

以及另一个包含交易信息的表格:

enter image description here

我想从交易中检索这两个标题.来自_acc_id和交易.到_acc_id

到目前为止,我只能通过以下连接检索其中一个:

SELECT transactions.transaction_type, 
transactions.from_acc_id, 
transactions.to_acc_id,
transactions.amount,
account.title AS "ACCOUNT DESTINATION"
FROM transactions
JOIN account 
ON transactions.to_acc_id = account.acc_id

enter image description here

这给了我交易的标题.到acc id.

如何添加另一个包含交易标题的字段.请用相同的SELECT语句从_acc_id开始?

谢谢

编辑:我想保留Select语句中的所有字段,添加事务的标题.从相关的地方开始

推荐答案

两次加入account表,并 for each 实例指定自己的别名.此外,为了确保transactions表中的每条记录都显示出来,并且只显示accounts表中的那些记录(源和目标),请使用LEFT OUTER JOIN,而不是当前使用的隐式INNER JOIN.

SELECT transactions.transaction_type, 
  transactions.from_acc_id, 
  transactions.to_acc_id,
  transactions.amount,
  dest.title AS "ACCOUNT DESTINATION",
  src.title AS "ACCOUNT SOURCE"
FROM transactions
  LEFT OUTER JOIN account as dest
    ON transactions.to_acc_id = dext.acc_id
  LEFT OUTER JOIN account as src
    ON transactions.from_acc_id = src.acc_id

有关大多数数据库中可用的联接类型的更多信息,请查看W3Schools SQL Joins page

Postgresql相关问答推荐

即使密码更改,也可以访问Docker Postgresql数据库

PostgreSQL按描述请求

哪种数据类型是除法的结果?

Postgres 查询指向国外数据工作者的分区表比直接查询 fdw 慢很多倍

将数组的所有元素循环到jsonb中并修改值

从单选插入到多个表

@符号在yacc中的函数中是什么意思

Postgres >= 和 <= 具有特殊字符的行为

PostgreSQL 错误:42P01:relation "[Table]" does not exist

postgresql 更新错误ERROR: invalid input syntax for type boolean:

Postgresql JSONB 来了.现在用什么?Hstore?JSON?EAV?

从 PostgreSQL 中的数字获取月份名称

Rails 4查询由单个属性唯一

如何使用 postgresql 中的存储过程将数据插入表中

使用 pg-promise 插入多条记录

Postgres 类似于 SQL Server 中的 CROSS APPLY

是否可以在 CSV 格式的 Postgres COPY 命令中关闭报价处理?

PostgreSQL:如何在用户级别设置 search_path?

为什么是||在 PostgreSQL/Redshift 中用作字符串连接

pg_restore 目录错误