删除重复项(一对多)或编写一个子查询来解决我的问题
参考下图,记录表具有唯一的记录。每条记录都会通过更新表中的注释进行更新。当我加入两者时,我得到了很多重复项。
如何删除重复项? Group By 对我不起作用,因为我在选择查询中有超过 10 个字段,其中一些是函数。
编写一个子查询,为特定月份更新的每条记录提取更新表中的最新更新。加入这个子查询将解决我的问题。
谢谢!
编辑 感兴趣的表结构是
create table Records(
recordID int,
90more_fields various
)
create table Updates(
update_id int,
record_id int,
comment text,
byUser varchar(25),
datecreate datetime
)
Referring to the diagram below the records table has unique Records. Each record is updated, via comments through an Update Table. When I join the two I get lots of duplicates.
How to remove duplicates? Group By does not work for me as I have more than 10 fields in select query and some of them are functions.
Write a sub query which pulls the last updates in the Update table for each record that is updated in a particular month. Joining with this sub query will solve my problem.
Thanks!
Edit
Table structure that is of interest is
create table Records(
recordID int,
90more_fields various
)
create table Updates(
update_id int,
record_id int,
comment text,
byUser varchar(25),
datecreate datetime
)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是一种方法。
Here's one way.
根据现有的有限信息...
Based on the limited information available...
每条记录和月份的最后更新:(
适用于 PostgreSQL,date_part 在其他 RDBMS 中不同)
Last updates per record and month:
(Works on PostgreSQL, date_part is different in other RDBMS)