【问题标题】:how to view the name of credit and debit in same table from other table如何从其他表中查看同一表中的贷方和借方名称
【发布时间】:2014-11-29 09:01:37
【问题描述】:

我要表,表账户和表实体,贷方和借方是表账户中的number = id, 我想写一个查询,结果是信用卡号的名称和借方号的名称以及表实体的日期和值

表格中的一些数据:

table entities:    
id  credit   debit  value  date
1   100      101    5000   01/01/2014

table accounts:    
id   name
100  Mark
101  Jone

这是我数据库中的一些数据。我需要一个查询来显示这个结果:

1, Mark, Jone, 5000, 01/01/2014

【问题讨论】:

  • 欢迎来到 Stack Overflow。请发布您的数据库架构的相关部分。
  • 表账户:身份证、姓名、电话。表实体:id、贷方、借方、值、日期

标签: sql postgresql


【解决方案1】:

您需要加入帐户表两次(一次用于贷方名称,一次用于借方名称):

SELECT
    e.id, 
    credit_account.name AS CreditName, 
    debit_account.name  AS DebitName, 
    e.value, 
    e.date 
FROM entities AS e
JOIN accounts AS credit_account ON e.credit = credit_account.id
JOIN accounts AS debit_account  ON e.debit  = debit_account.id

这个查询产生这个输出:

id          CreditName           DebitName            value       date
----------- -------------------- -------------------- ----------- ----------
1           Mark                 Jone                 5000        2014-01-01

它假定实体表中每一行的贷方和借方列中都有一个值。如果其中一个可能丢失,您可能希望使用LEFT JOIN,而不是在缺少值的列中获取空值。

Sample SQL Fiddle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-12
    • 2012-12-13
    相关资源
    最近更新 更多