【问题标题】:Ignoring a certain column in MS Access SELECT DISTINCTROW忽略 MS Access SELECT DISTINCTROW 中的某个列
【发布时间】:2020-08-10 00:57:00
【问题描述】:

我有一个 SQL 查询:

SELECT DISTINCTROW Title, Author, Genre, ISBN, UID, YearPurchased, Condition
from " + table + "
WHERE " + condition + " " + defOrder + ";

在 Java 中通过 UCanAccess 调用。

有什么方法可以使用 SQL 将查询输出到 ResultSet(我已经编码并工作),其中删除具有重复标题和 ISBN(当布尔值为 true 时)的后续记录(其他列名可以有重复)。

示例 查询:

SELECT DISTINCTROW Title, Author, Genre, ISBN, UID, YearPurchased, Condition 
from tblBooks 
WHERE (Title LIKE 'spit*' OR Author LIKE 'spit*' OR Genre LIKE 'spit*') AND Loaned = No 
ORDER BY Title;

期望的输出没有第二条记录:

https://prnt.sc/s67k2q

【问题讨论】:

  • 请提供样本数据和期望的结果,以阐明您要做什么。
  • @GordonLinoff 添加了示例查询和所需的输出

标签: java sql ms-access ucanaccess


【解决方案1】:

您可以使用聚合。我不确定您到底在定义什么单行,但这适用于您提供的数据:

SELECT Title, Author, Genre, ISBN, MIN(UID) as UID, YearPurchased, Condition
from " + table + "
WHERE " + condition + " " + defOrder + "
GROUP BY Title, Author, Genre, ISBN, YearPurchased, Condition

【讨论】:

  • 效果很好!感谢您的快速回复,并对措辞不当的问题表示歉意。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-02
  • 2020-07-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-21
  • 1970-01-01
相关资源
最近更新 更多