+ -
当前位置:首页 → 问答吧 → SQL 方面的问题

SQL 方面的问题

时间:2011-05-25

来源:互联网

SQL 数据库的表(这个只是表里面的一部分,原表里面是有很多的Order_Number的)
Order_Number        Dup_rec                           Region
802108998         FALSE                             JAN
802108998         FALSE                           CHK
802108998         FALSE                            JAN
802108998         FALSE                             JAN
802108998         FALSE                           CHK
802105555         FALSE                            JAN
802105555         FALSE                             JAN
802105555         FALSE                           CHK
802105555         FALSE                            JAN


我的目的是要把上面的表变成
Order_Number        Dup_rec                           Region
802108998         FALSE                             JAN
802108998         FALSE                           CHK
802108998          TRUE                            JAN
802108998        TRUE                             JAN
802108998         FALSE                           CHK
802105555         FALSE                            JAN
802105555        TRUE                             JAN
802105555         FALSE                           CHK
802105555         TRUE                            JAN
==========================================================================================

把region=JPN的筛选出来, 筛选出来的结果是

Order_Number        Dup_rec                           Region
802108998         FALSE                             JAN
802108998         FALSE                            JAN
802108998         FALSE                             JAN
802105555         FALSE                            JAN
802105555         FALSE                             JAN
802105555         FALSE                            JAN

如表上有两个相同的Order_Number ,
除了相同Order_Number 的第一个Order_Number外, 其他的Order_Number 的 Dup_rec  都改成TRUE 哦 ,如下图:
Order_Number        Dup_rec                           Region
802108998         FALSE                             JAN
802108998          TRUE                            JAN
802108998        TRUE                             JAN
802105555         FALSE                            JAN
802105555        TRUE                             JAN
802105555         TRUE                            JAN

各位大侠帮帮忙哦 !!!
谢谢啦!!!!

作者: 我就是我耶   发布时间: 2011-05-25

这个表没有主键吗?

作者: marco   发布时间: 2011-05-25

没有主键哦。。

作者: 我就是我耶   发布时间: 2011-05-25

按你这种表结构及数据,没有主键,是表设计不合理。

加主键后(比如主键ID自增列)很容易处理这个问题:

select Order_Number, iif((select min(id) from tb where Order_Number=a.Order_Number and  Region='JAN
')=id,false,true) as Dup_recV , Region from tb a

作者: marco   发布时间: 2011-05-25