Ну это вообще не запрос, а просто функция.
Запрос вот:
Код:
select t.locid, t.desknum, t.znum, t.checknum, t.article from smcashcheckitems t
group by t.locid, t.desknum, t.znum, t.checknum, t.article
having sum(t.quantity)-round(sum(t.quantity),0)>0
только автоматом апдейт действительно делать опасно.
И твой способ мне не нравится, прости. В случае, когда одна позиция разбита на две, например: 0,35 шт и 0,65 шт, При твоем апдейте, в итоге будет 2 шт проданных вместо одной. А что делать, если разбиение 2,025 и 0,75 шт.?