aa
|----------|----------|----------|----------|----------|
| job_id | no | dep_id | item | name |
|----------|----------|----------|----------|----------|
| 000101 | | 0900 | 002 | A001
|----------|----------|----------|----------|----------|
| 000101 | | 0900 | 003 | A002
|----------|----------|----------|----------|----------|
| 000101 | | 0901 | 001 | B003
|----------|----------|----------|----------|----------|
| 000202 | | 0902 | 003 | C004
|----------|----------|----------|----------|----------|
| 000202 | | 0900 | 004 | A005
|----------|----------|----------|----------|----------|
| 000303 | | 0901 | 002 | B004
|----------|----------|----------|----------|----------|
| 000303 | | 0901 | 004 | B005 目的:为aa表生成一个编号(no)。
规则:按job_id和dep_id分组,同一组内如果有item为002的记录,这一组的no为002这条记录的name加当前时间,
如果没有item为002的记录,在同一组内随便取一条记录的name值加上当前时间生成no。問題:有没有办法用一条sql语句完成,数据库是MySQL。
|----------|----------|----------|----------|----------|
| job_id | no | dep_id | item | name |
|----------|----------|----------|----------|----------|
| 000101 | | 0900 | 002 | A001
|----------|----------|----------|----------|----------|
| 000101 | | 0900 | 003 | A002
|----------|----------|----------|----------|----------|
| 000101 | | 0901 | 001 | B003
|----------|----------|----------|----------|----------|
| 000202 | | 0902 | 003 | C004
|----------|----------|----------|----------|----------|
| 000202 | | 0900 | 004 | A005
|----------|----------|----------|----------|----------|
| 000303 | | 0901 | 002 | B004
|----------|----------|----------|----------|----------|
| 000303 | | 0901 | 004 | B005 目的:为aa表生成一个编号(no)。
规则:按job_id和dep_id分组,同一组内如果有item为002的记录,这一组的no为002这条记录的name加当前时间,
如果没有item为002的记录,在同一组内随便取一条记录的name值加上当前时间生成no。問題:有没有办法用一条sql语句完成,数据库是MySQL。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货