Postgresql 如何删除OpenERP版本6.1.1中的重复记录
我想获取员工ID、请假原因、请假类型和员工姓名,以便进行内部报告。我编写了一个SQL查询来检索这些数据,还得到了一些重复的数据 似乎缺少一些连接/外部id映射部分Postgresql 如何删除OpenERP版本6.1.1中的重复记录,postgresql,openerp,Postgresql,Openerp,我想获取员工ID、请假原因、请假类型和员工姓名,以便进行内部报告。我编写了一个SQL查询来检索这些数据,还得到了一些重复的数据 似乎缺少一些连接/外部id映射部分 select h.id as employee_id,h.name as leave_reason, s.name,r.name as res_name from hr_holidays_status s, hr_holidays h, hr_employee e, resource_resour
select
h.id as employee_id,h.name as leave_reason,
s.name,r.name as res_name
from
hr_holidays_status s,
hr_holidays h,
hr_employee e,
resource_resource r
where
h.employee_id=e.id and
h.holiday_status_id=s.id and
e.resource_id=r.id
order by
resource_id
您的查询看起来是正确的,但可能您得到了意外的结果,因为
hr\u holidays
表同时包含“休假请求”和“休假分配”。这就像一个复式记账系统,休假分配增加了员工或员工类别的可用休假天数,而休假请求则减少了
您的查询可能应该考虑到这一区别,并且您可能还希望对其他字段(如state)进行筛选,因为某些记录可能尚未验证
查看6.1中的模型声明,您将看到可以在查询中使用的几个值得注意的字段:
:可以是分配(类型
)来表示增量,也可以是请求(“添加”
)来表示减量“删除”
:可以是员工(holiday\u type
),在这种情况下,'Employee'
列指示哪个员工或类别(员工id
),在这种情况下,'Category'
列指示哪个类别类别id
:新建(状态
),等待批准(“草稿”
),拒绝(“确认”
),等待第二次批准(“拒绝”
),批准(“验证1”
),取消(“验证”
)“取消”