我有以下查询上的多个删除重复的行连接
select m.movementid, m.orderid, m.pickupdate, m.pickupnotes,
b.bin_size, b.bin_type,
l.address, l.suburb, l.postcode, l.state,
if(rs.run_action = 'Pick', if (r.run_state = 'Active' or r.run_state='Ready', 1, 0), 0) as active_on_pick
from bb_movement m
inner join bb_bins b on b.bin_id = m.bin_id
inner join bb_location l on l.locationid = m.locationid
inner join bb_runsheet rs on rs.movement_id = m.movementid
inner join bb_run r on r.run_id = rs.run_id
where m.mvtstate = 'Active'
order by m.locationid, m.pickupdate
我希望产生其中active_on_pick列包含一个0或1的每个movementid的结果。 A记录在bb_runsheet表时存在一个给定的movementid添加到bb_run (一bb_run可以有很多bb_runsheet记录,这主要包含movementid)
我的问题是,当一个运动是一个运行(即:具有符合条件并在bb_runsheet表中的条目)我得到2行的结果数据集中bb_run记录 - 例如:
mvt_id active_on_pick
21 0
21 1
我要的是21和1我试图子查询和其他变体(比如运动小组),但似乎可以钉住它。我用mysql
@Ag,我试图为的就是运行这个查询,并得到1241错误(运行MySQL 5.5.29)。从最后一个删除1,0)并删除错误,但不能解决问题。我不习惯这种语法,但喜欢你采取的方法..我会继续黑客... – 300baud
对不起 - 它有一个巨大的错字 – AgRizzo
如果可以的话,把一些示例数据在sqlfiddle。 COM。这将使测试更容易 – AgRizzo