【问题标题】:Getting a value without duplication获得不重复的价值
【发布时间】:2022-01-17 16:24:23
【问题描述】:

有没有办法从连接多行的表中获取值?

例如:

表 1 有一个具有唯一事务的唯一行

表 2 有很多行连接到 A,因为它是资产负债表

我只需要来自表 2 中特定列子集的单个值(帐户),其行在除日期之外的所有方面都是重复的。

当我将表 2 连接到表 1 时,由于日期不同,我得到了很多重复。

SELECT table1.transaction,table2.account
FROM table1
INNER JOIN table2 ON table1.key = table2.table1_key
WHERE table2.account = '343' 

table1 中的行可能如下所示:

key: 1, transaction: 200

table2 中的条目如下所示:

key: 1, transaction: 200, date:31/01, account: 343, table1_key: 1
key: 2, transaction: 200, date:28/02, account: 343, table1_key: 1
key: 3, transaction: 200, date:31/03, account: 343, table1_key: 1
key: 4, transaction: 200, date:30/04, account: 343, table1_key: 1

我是 SQL 的新手,所以不确定这是否有足够的信息。如果您需要更多信息,请告诉我。

【问题讨论】:

  • 欢迎使用 SQL。发布您的表格说明?以及您可能已经尝试过的任何 SQL。将帮助您周围的人更好地了解您的问题。在这个例子中,你总是会得到多行,所以这会有所帮助。
  • edit您的问题(通过点击下面的edit链接)并添加一些示例数据和基于该数据的预期输出为formatted text .请参阅here,了解有关如何创建漂亮的文本表格的一些提示。 (edit 您的问题 - 请不要在 cmets 中添加代码或其他信息)

标签: sql postgresql


【解决方案1】:

您可以在查询中使用DISTINCT 子句:

SELECT DISTINCT table1.transaction,table2.account
FROM table1
INNER JOIN table2 ON table1.key = table2.table1_key
WHERE table2.account = '343' 

【讨论】:

    猜你喜欢
    • 2013-04-22
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多