を結合します。私は、のいずれかが706795個の行を持つテーブルwith_mail_id
に参加するよりも低くなっている654105個の行を、取得しています。この一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
を
ここでは、qcの目的のために、私のマネージャーが最終的なテーブルのすべての行を持っていない理由が不思議です。私はすべてのフィルタを削除しようとしましたが、結果は両方のテーブルで同じではありません。私は間違って何をしていますか?
私はまだSQLはあまり良くありません。このことは本当に私を混乱させています。
条件付きのJOIN、2つのWHERE条件、次にGROUP BY ...があり、結果の行数が最初の表の行数と異なることがまだ疑問ですか?真剣に? –