用SQL语句完成匹配、提取、填充,详细问题请参看下面的图片,急!!!!!在线等待!!!!
3个回答
展开全部
我用的是PL/SQL,不过我觉得思路可以提供给你做参考。毕竟都是SQL
第一个:用DECODE,统计 每个房号 对应的唯一 类别数目 ,如果是1,那个更新 是否异常 为否,不然更新为 是
第二个:类别的话,ORACLE里面有一个wmsys.wm_concat函数,直接得到 C,C,K,然后用一个REPLACE就可以得到 C\C\K。如果没有这个函数的话,可以考虑行转列函数,ORACLE中有PIVOT,不知道SQL中有没有。没有的话,就只能自己转,或者SQL有自己的类似功能的函数?
至于是否异常,这个和之前一样更新就行。
第一个:用DECODE,统计 每个房号 对应的唯一 类别数目 ,如果是1,那个更新 是否异常 为否,不然更新为 是
第二个:类别的话,ORACLE里面有一个wmsys.wm_concat函数,直接得到 C,C,K,然后用一个REPLACE就可以得到 C\C\K。如果没有这个函数的话,可以考虑行转列函数,ORACLE中有PIVOT,不知道SQL中有没有。没有的话,就只能自己转,或者SQL有自己的类似功能的函数?
至于是否异常,这个和之前一样更新就行。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-11-16
展开全部
create trigger tron 表1
for update
as
begin
update 表2 set 是否异常1=updated.是否异常 where 表2.房号=updated.房号
update 表2 set 类别1=updated.类别+'\'+ updatef.类别1 where 表2.房号=updated.房号
end
update 表1 set 是否异常= 是 where 房号 in ( select 房号 from 表1 group by 房号 having count(distinct 类别)>1)
update 表1 set 是否异常= 是 where 房号 not in ( select 房号 from 表1 group by 房号 having count(distinct 类别)>1)
for update
as
begin
update 表2 set 是否异常1=updated.是否异常 where 表2.房号=updated.房号
update 表2 set 类别1=updated.类别+'\'+ updatef.类别1 where 表2.房号=updated.房号
end
update 表1 set 是否异常= 是 where 房号 in ( select 房号 from 表1 group by 房号 having count(distinct 类别)>1)
update 表1 set 是否异常= 是 where 房号 not in ( select 房号 from 表1 group by 房号 having count(distinct 类别)>1)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我可以帮你弄,你最好再说清楚点。说清楚几分钟搞定。哥们这个用存储过程是非常简单的,一条sql不好写吧?你得判断还得向表里的(是否异常)添加数据的。
追问
我可以帮你弄,你最好再说清楚点。说清楚几分钟搞定。哥们这个用存储过程是非常简单的,一条sql不好写吧?你得判断还得向表里的(是否异常)添加数据的。
除了判断 还得向表里添加是或否,兄弟帮帮忙了,今天要搞好这个,上万条数据,头大,我是用狐狸头来做的,看看能怎么弄,谢谢了!
追答
哥们,我能帮你写存储过程实现,但是存储过程的话,不知道你有没有环境可以去调用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询