日期:2014-05-16  浏览次数:20472 次

接上一个帖子 求sql 急用
House表 一条数据
      电话          户型                       数据类型           楼盘名称           时间         区域
12132145545      洋房                        成交               奥园越时代     2014-02-26   null
HouseTemp 3条数据
135         大户型       进线        中华  2014-02-26  越秀
136         小户型       来访        来华   2014-02-26  越秀区
12132145545 小户型        来访       月华   2014-02-26 天河区
当HouseTemp的电话等于House表中电话时,判断House表的其它属性是否包含了HouseTemp表的其他属性的内容
包含则不处理 不包含则更新

更新格式为"成交,进线,来访" 以逗号隔开
例如:HouseTemp表第三条数据电话和house电话相同则处理
最终House表数据变成
     电话          户型             数据类型           楼盘名称           时间         区域
12132145545   洋房,小户型        成交,来访       奥园越时代,月华     2014-02-26   天河区


求一个sql语句
上一个帖子:http://bbs.csdn.net/topics/390718562

------解决方案--------------------
没看懂 坐等唐诗和着急。
------解决方案--------------------
更正一下,还少一个区域
UPDATE house
 SET house.户型 = house.户型 + ',' + housetemp.户型, 
       house.数据类型 = house.数据类型 + ',' + housetemp.数据类型, 
       house.楼盘名称 = house.楼盘名称 + ',' + housetemp.楼盘名称,
       house.区域 = house.区域 + ',' + housetemp.区域
FROM house INNER JOIN
       housetemp ON house.电话 = housetemp.电话
------解决方案--------------------
麻烦你再看看,试试下面的

UPDATE house
 SET house.户型 = a.户型, 
       house.数据类型 = a.数据类型, 
       house.楼盘名称 = a.楼盘名称,
       house.区域 = a.区域
FROM  (
select h.电话,case when charindex(ht.户型, h.户型)=0 then h.户型+','+ht.户型 else h.户型 end 户型,
  case when charindex(ht.数据类型, h.数据类型)=0 then h.数据类型+','+ht.数据类型 else h.数据类型 end 数据类型,
  case when charindex(ht.楼盘名称, h.楼盘名称)=0 then h.楼盘名称+','+ht.楼盘名称 else h.楼盘名称 end 数据类型,
  ca