-2
请参阅我下面的查询:SQL查询,并加入
select I.OID_CUSTOMER_DIM, I.segment as PISTACHIO_SEGMENT,
MAX(CASE WHEN S.SUBSCRIPTION_TYPE = '5' THEN 'Y' ELSE 'N' END) PB_SUBS,
max(case when S.SUBSCRIPTION_TYPE ='12' then 'Y' else 'N' end) DAILY_TASTE,
MAX(CASE WHEN S.SUBSCRIPTION_TYPE ='8' THEN 'Y' ELSE 'N' END) COOKING_FOR_TWO
FROM WITH_MAIL_ID i JOIN CUSTOMER_SUBSCRIPTION_FCT S
ON I.IDENTITY_ID = S.IDENTITY_ID
WHERE S.SITE_CODE ='PB'and S.SUBSCRIPTION_END_DATE is null
group by I.oid_customer_dim, I.segment
在这其中我得到654105行,这是低于的一个连接的表with_mail_id
其中有706795行。
现在,为了我的目的,我的经理想知道为什么我没有在我的决赛桌中的所有行。我试图删除所有的过滤器,但两个表中的结果仍然不相同。我究竟做错了什么?
我不是很擅长SQL,但这件事让我很困惑。
你有条件加入,两个WHERE条件,然后你GROUP BY ...,你*仍然*想知道结果中的行数不同于第一个表中的行数?真的吗? – 2012-04-13 23:08:48