0
Thare两个表:Postgres的 - 功能计数
select "PRD_ID", "PRD_AUDIT_RD", "PRS_ID", "PRS_AUDIT_RD" from lct_products
left outer join lct_prd_properties on "PRD_ID" = "PRS_PRD_ID"
where "PRD_AUDIT_RD" is null
结果:
"PRD_ID", "PRD_AUDIT_RD", "PRS_ID", "PRS_AUDIT_RD"
18;"";57;"2014-09-15 22:48:37.39"
18;"";60;"2014-09-16 17:40:32.016"
18;"";71;"2014-09-19 22:00:31.289"
18;"";72;"2014-10-16 23:35:50.125"
18;"";58;"2014-10-17 11:23:51.643"
11;"";83;"2014-12-02 13:41:19.503"
11;"";82;"2014-12-02 13:42:09.677"
18;"";59;"2014-12-02 13:44:23.22"
14;"";85;"2014-12-02 13:53:00.428"
14;"";84;"2014-12-02 13:58:12.492"
14;"";87;"2014-12-02 14:09:21.304"
14;"";86;"2014-12-02 14:15:15.236"
25;"";;""
17;"";;""
37;"";;""
28;"";;""
30;"";;""
16;"";;""
36;"";;""
35;"";;""
我需要列出所有产品的ID和计数分配给他们每个人的特性的数量。列PRS_AUDIT_RD中的日期侵犯了先前分配给特定产品的逻辑被逻辑删除。因此,如果产品的ID = 18,我希望在列表中还包含当前分配有0个属性的信息。
查询下面不解决问题东阳它没有考虑到列PRS_AUDIT_RD:
select "PRD_ID", count("PRS_ID") from (
select "PRD_ID", "PRD_AUDIT_RD", "PRS_ID", "PRS_AUDIT_RD" from lct_products
left outer join lct_prd_properties on "PRD_ID" = "PRS_PRD_ID"
where "PRD_AUDIT_RD" is null
) xx group by "PRD_ID"
,但如果我上PRS_AUDIT_RD添加条件,我不会与ID产品= 18列:
select "PRD_ID", count("PRS_ID") from (
select "PRD_ID", "PRD_AUDIT_RD", "PRS_ID", "PRS_AUDIT_RD" from lct_products
left outer join lct_prd_properties on "PRD_ID" = "PRS_PRD_ID"
where "PRD_AUDIT_RD" is null
and "PRS_AUDIT_RD" is null
) xx group by "PRD_ID"
你知道如何做到这一点吗?
问候 米哈尔
它的工作原理!非常感谢 :) – Michal 2014-12-02 16:24:09