-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