求一SQL语句,
求一SQL语句,高手进,急。
--得到集团编码
SELECT DISTINCT jituanbianma FROM pls..cust_sls
WHERE
--条件1
ref_num IN(SELECT cust_num FROM pls..customer WHERE cust_grade = 'AA ' AND is_group=0)
--条件2
AND ref_num IN(SELECT cust_num FROM crm_visit WHERE area_code= '3 ' AND visit_date NOT IN(SELECT riqi FROM AM13 WHERE riqi> = '2007/04/21 ' AND riqi <= '2007/05/20 '))
--条件3
AND jituanbianma <> ' '
--条件4
AND area_code= '3 '
如何修改该SQL语句,加一个假字段 cust_Type,并给cust_Type赋值
达到:
满足(条件2时) 即满足:ref_num IN(SELECT cust_num FROM crm_visit WHERE area_code= '3 ' AND visit_date NOT IN(SELECT riqi FROM AM13 WHERE riqi> = '2007/04/21 ' AND riqi <= '2007/05/20 '))
cust_Type= 'T '
不满足(条件2时) 即不满足:ref_num IN(SELECT cust_num FROM crm_visit WHERE area_code= '3 ' AND visit_date NOT IN(SELECT riqi FROM AM13 WHERE riqi> = '2007/04/21 ' AND riqi <= '2007/05/20 '))
cust_Type= 'F '
高手急救。
------解决方案--------------------
我也不知道你是什么数据,姑且这样吧:
select jituanbianma,max(cust_Type)
from(
SELECT DISTINCT jituanbianma,
case when exists(SELECT 1 FROM crm_visit WHERE area_code= '3 ' AND visit_date NOT IN(SELECT riqi FROM AM13 WHERE riqi> = '2007/04/21 ' AND riqi <= '2007/05/20 ') and cust_num=a.ref_num) then 'T '
else 'F '
end cust_Type
FROM pls..cust_sls a
WHERE
ref_num IN(SELECT cust_num FROM pls..customer WHERE cust_grade = 'AA ' AND is_group=0)
AND jituanbianma <> ' '
AND area_code= '3 '
)bb
group by jituanbianma
--得到集团编码
SELECT DISTINCT jituanbianma FROM pls..cust_sls
WHERE
--条件1
ref_num IN(SELECT cust_num FROM pls..customer WHERE cust_grade = 'AA ' AND is_group=0)
--条件2
AND ref_num IN(SELECT cust_num FROM crm_visit WHERE area_code= '3 ' AND visit_date NOT IN(SELECT riqi FROM AM13 WHERE riqi> = '2007/04/21 ' AND riqi <= '2007/05/20 '))
--条件3
AND jituanbianma <> ' '
--条件4
AND area_code= '3 '
如何修改该SQL语句,加一个假字段 cust_Type,并给cust_Type赋值
达到:
满足(条件2时) 即满足:ref_num IN(SELECT cust_num FROM crm_visit WHERE area_code= '3 ' AND visit_date NOT IN(SELECT riqi FROM AM13 WHERE riqi> = '2007/04/21 ' AND riqi <= '2007/05/20 '))
cust_Type= 'T '
不满足(条件2时) 即不满足:ref_num IN(SELECT cust_num FROM crm_visit WHERE area_code= '3 ' AND visit_date NOT IN(SELECT riqi FROM AM13 WHERE riqi> = '2007/04/21 ' AND riqi <= '2007/05/20 '))
cust_Type= 'F '
高手急救。
------解决方案--------------------
我也不知道你是什么数据,姑且这样吧:
select jituanbianma,max(cust_Type)
from(
SELECT DISTINCT jituanbianma,
case when exists(SELECT 1 FROM crm_visit WHERE area_code= '3 ' AND visit_date NOT IN(SELECT riqi FROM AM13 WHERE riqi> = '2007/04/21 ' AND riqi <= '2007/05/20 ') and cust_num=a.ref_num) then 'T '
else 'F '
end cust_Type
FROM pls..cust_sls a
WHERE
ref_num IN(SELECT cust_num FROM pls..customer WHERE cust_grade = 'AA ' AND is_group=0)
AND jituanbianma <> ' '
AND area_code= '3 '
)bb
group by jituanbianma