2017-02-20 31 views
1

在一组MFRNO,MFRNAME,MFRADDRESS和ZIPCODE中 如果有两个电话号码,如果两个电话号码是空的(''),则从结果中删除。 但如果在一个组中只有1条记录,并且电话号码是空白的,那么它应该保留在输出中。如果记录存在多于1个空白的组。从输出中删除

DECLARE @TABLE TABLE 
(
MFRNO VARCHAR(50), 
MFRNAME VARCHAR(50), 
MFRADDRESS VARCHAR(50), 
ZIPCODE VARCHAR(50), 
FIRSTPHONE VARCHAR(50) 
) 

INSERT @TABLE 


SELECT '10008886', 'TIPMASTER LTD',  'RIGG APPROACH',  'E107ON','' UNION ALL 
SELECT '10008886', 'TIPMASTER LTD',  'RIGG APPROACH',  'E107ON', '02085390611'UNION ALL 
SELECT '10012227', 'CAR BODY',  'UNSHINAGH LANE',  'BT623RL', '' UNION ALL 
SELECT '40045002', 'MANCHESTER',   'GROVE PARK',  'WA168QE', '' UNION ALL 
SELECT '40045002', 'MANCHESTER',   'GROVE PARK',  'WA168QE', '07967967404' 

MFRNO MFRNAME MFRADDRESS ZIPCODE FIRSTPHONE 
10008886 TIPMASTER LTD RIGG APPROACH E107ON 02085390611 
10012227 CAR BODY UNSHINAGH LANE BT623RL 
40045002 MANCHESTER GROVE PARK WA168QE 07967967404 

感谢

回答

1

最大应该这样做:

select MFRNO, MFRNAME, MFRADDRESS, ZIPCODE, MAX(FIRSTPHONE) 
from @TABLE 
group by MFRNO, MFRNAME, MFRADDRESS, ZIPCODE