我需要生成通过其雇主注册的healthclub会员数(每个会员有多个不同的雇主),他们的会员级别以及他们的家庭成员的级别。我遇到的问题是,目前我们没有任何LEVEL D会员,但可能在未来。当没有成员资格时,我需要报告显示'0'。我试过SQL QUERY在使用COUNT时显示NULL值
COUNT(DISTINCT CUSTOMER_ID) +
COUNT(CASE WHEN CUSTOMER_ID IS NULL THEN 1 END) AS NUMBER_OF_CUSTOMERS
而且它没有工作,任何帮助表示赞赏。
SELECT
MEMBERSHIP_TYPE,
COUNT(DISTINCT CUSTOMER_ID) AS NUMBER_OF_CUSTOMERS,
COUNT(CASE WHEN CUSTOMER_RELATION = ‘FAMILYMEMBER’ THEN 1 END) AS FAMILY_MEMBERS,
COUNT(DISTINCT CUSTOMER_ID) + COUNT(CASE WHEN CUSTOMER_RELATION ‘FAMILY_MEMBERS’ THEN 1 END) AS TOTAL
这是我目前得到
MEMBERSHIP_TYPE NUMBER_OF_CUSTOMERS FAMILY_MEMBERS TOTAL
-------------------------------------------------------------
LEVEL A 100 25 125
LEVEL B 630 340 970
LEVEL C 1201 630 1831
我需要这个
MEMBERSHIP_TYPE NUMBER_OF_CUSTOMERS FAMILY_MEMBERS TOTAL
-------------------------------------------------------------
LEVEL A 100 25 125
LEVEL B 630 340 970
LEVEL C 1201 630 1831
LEVEL D 0 0 0
由于某些原因,当我尝试发布表格时,格式会丢失,但这些列是MEMBERSHIP_TYPE,NUMBER_ OF_CUSTOMERS,FAMILY_MEMBERS和TOTAL。程度的不同的行是如下: 水平\t \t \t LEVEL乙\t \t \t C级\t \t \t LEVEL d – danielsvic
是有水平的一个主表? –