- 论坛徽章:
- 0
|
设备入库表:device_in
in_batch_id device_id in_successful in_time
(入库编号) (设备编号) (入库是否提交) (入库时间)
20060701 001 true 2006-07-02 01:01
20060701 002 true 2006-07-02 01:01
20060702 001 false 2006-07-02 10:21
20060702 001 false 2006-07-02 23:34
20060703 001 false 2006-07-01 12:12
说明:在表device_in同一入库编号可能有好几个设备入库, (批入库的思想)
关系
in_batch_id (1 ——> n) device_id
in_batch_id (1 ——> 1) in_successful
当in_successful =true的时候
in_batch_id (1 ——> 1) in_time
当in_successful =false的时候
in_batch_id (1 ——> n) in_time
如何得到入库编号in_batch_id唯一的记录,和in_successful,in_time 并且实现按照入库时间进行排序,
要得到结果形式如下所示:
20060702 false
20060701 true
20060703 false
方法1:
select distinct in_batch_id,in_successful,in_time from device_in order by in_time desc
如果上面的sql语句将得不到in_batch_id唯一的记录
结果:
20060702 false
20060702 false
20060701 true
20060703 false
select distinct in_batch_id,in_successful from device_in
如果上面的sql语句将不能进行有效排序。
结果:
20060701 true
20060702 false
20060703 false
方法2:
SELECT in_batch_id, in_successful FROM device_in WHERE in_successful=false group by in_batch_id,in_successful
如果上面的sql语句将不能进行有效排序。
SELECT in_batch_id, in_successful,in_time FROM device_in WHERE in_successful=false group by in_batch_id,in_successful,in_time order by in_time desc
如果上面的sql语句将不能进行有效排序。
如何实现???
[ 本帖最后由 baorongabc 于 2006-7-13 07:34 编辑 ] |
|