【问题标题】:Get data from 3 table从 3 个表中获取数据
【发布时间】:2014-05-22 13:55:56
【问题描述】:

我的数据库中有三个表,第一个是 account_group,下一个是 ledger,最后一个是 account_receipt, account_group 有字段 group_id 和 group_name,这个 group_id 映射到 ledger,ledger 表包含字段 ledger_name 和 group_id。在最后一个表中 account_receipt 有字段 ledger_id 和receipt_amount。

所以我需要的是在给出 group_id 时获取收据详细信息。我无法为此编写查询。任何帮助将不胜感激。

schema:: 
account_group::
    id          int(11)
    group_name  varchar(60)
ledger ::
        id          int(11) 
    group_id    varchar(60)
        ledger_name     varchar(60)
account_receipt::
        id          int(11) 
        ledger_id       int(11)
    amount          float
        receipt_date     date

【问题讨论】:

  • 如果你展示你的表的架构(最好是一些数据),而不是仅仅描述它们,它会更容易阅读和理解......
  • @RaphaëlAlthaus 已更新

标签: mysql accounting nested-queries


【解决方案1】:

尝试以下查询。它使用 JOIN 来连接各种表、列别名和表别名。

SELECT
    ag.id group_id,
    l.id ledger_id,
    l.ledger_name ledger_name
    ar.id receipt_id,
    ar.amount amount,
    ar.receipt_date receipt_date
FROM account_receipt ar
INNER JOIN ledger l ON ar.ledger_id = l.id
INNER JOIN account_group ag ON ag.id = l.group_id AND ag.id = <given group id>;

【讨论】:

    【解决方案2】:

    下面给出了三表连接示例

    select * from Table_A A
    join Table_B B on B.id=A.id
    join Table_C C on C.id=A.id
    

    【讨论】:

      猜你喜欢
      • 2014-01-22
      • 2016-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-19
      • 2021-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多