java - 使用 TRANSFORM 和 PIVOT 的交叉表查询重复行

标签 java sql ms-access pivot transform

下面的查询将用于检索我的数据库中的结果,然后将其插入到 jtable 中。

TRANSFORM ABS(a.present)
SELECT e.ID, e.firstName, e.lastName, e.position, e.rate 
FROM employees e LEFT JOIN attendance a ON e.ID = a.empID
GROUP BY e.ID, e.firstName, e.lastName, e.position, e.rate, a.present 
PIVOT a.dateAttended

下面可以看到查询检索到的结果。

enter image description here

现在,我想做的是合并一些结果。当日期列的结果不同(例如 1 | 0 或 0 | 1)时,我的查询中就会出现问题。 ID 结果重复(以红色圈出)。我只是想问一些可能的方法,如何合并结果,如图像右侧所示。预先感谢您。

最佳答案

您的问题是您想要转换(即报告 a.present 的值),但您还将该字段包含在 GROUP BY 子句中。尝试使用 TRANSFORM First(Abs(a.present)) 并从 GROUP BY 子句中删除 a.present,即

TRANSFORM First(Abs(a.present))
SELECT e.ID, e.firstName, e.lastName, e.position, e.rate 
FROM employees e LEFT JOIN attendance a ON e.ID = a.empID
GROUP BY e.ID, e.firstName, e.lastName, e.position, e.rate
PIVOT a.dateAttended

关于java - 使用 TRANSFORM 和 PIVOT 的交叉表查询重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23722802/

相关文章:

java - 如何使用JPA从自引用实体中的某个级别选择子实体?

sql - 如何对连续日期范围内的数据进行分组

excel - 如何在 MS Access 中为 Excel 电子表格导入提供错误处理

java - 为什么现有的 Maven 存储库丢失了?

mysql - SQL Between 子句太慢

mysql - 带有 "where in"子句的嵌套 MySql Select 语句

ms-access - MS Access 查询 : records with empty fields?

java - 比较两个文档,父元素和子元素的排序不同

java - 过河者的一般 DFS

java - 在 Websocket session 中访问 UserAgent?