Sql 在组中,如果记录超过1条,则为空。从输出中删除
在一组MFRNO、MFRNAME、MFRADDRESS和ZIPCODE中 若有两个电话号码,若其中一个为空(“”),则从结果中删除。 但是,如果组中只有一条记录,并且电话号码为空,则应将其保留在输出中Sql 在组中,如果记录超过1条,则为空。从输出中删除,sql,sql-server,Sql,Sql Server,在一组MFRNO、MFRNAME、MFRADDRESS和ZIPCODE中 若有两个电话号码,若其中一个为空(“”),则从结果中删除。 但是,如果组中只有一条记录,并且电话号码为空,则应将其保留在输出中 DECLARE @TABLE TABLE ( MFRNO VARCHAR(50), MFRNAME VARCHAR(50), MFRADDRESS VARCHAR(50), ZIPCODE VARCHAR(50), FIRSTPHONE VARCHAR(50) ) INSERT @T
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
谢谢Max应该这样做:
select MFRNO, MFRNAME, MFRADDRESS, ZIPCODE, MAX(FIRSTPHONE)
from @TABLE
group by MFRNO, MFRNAME, MFRADDRESS, ZIPCODE