| 1 | | drop procedure mismatchQueryWithoutOtkRows; |
| 2 | | |
| 3 | | DELIMITER } |
| 4 | | |
| 5 | | CREATE PROCEDURE mismatchQueryWithoutOtkRows(min int, max int, searchName varchar (100), searchSerial varchar (100), searchComment varchar (10000)) READS SQL DATA |
| 6 | | BEGIN |
| 7 | | set @prevtotal := 0; |
| 8 | | set @mintotal := 0; |
| 9 | | select * from (select *, @mintotal as mintotal, @prevtotal := @mintotal - total as prevtotal from |
| 10 | | (select products.serial, history.uid, history.date, hist1.total from history inner join |
| 11 | | (select uid, count(uid) as total from history where (type_write = "mismatch" or type_write = 'record' |
| 12 | | or type_write = "repair" or (type_write = "testing" and status = "fail")) and comment is not null and comment != '' group by uid) as hist1 on history.uid = hist1.uid |
| 13 | | inner join products on products.uid = history.uid where (products.name like searchName |
| 14 | | and products.serial like searchSerial and history.comment like searchComment) and (history.uid, history.date) in |
| 15 | | (select uid, max(date) from history where (type_write = "mismatch" or type_write = 'record' or type_write = "repair" or |
| 16 | | (type_write = "testing" and status = "fail") or `history`.type_write = 'record') and history.comment like searchComment and comment is not null and comment != '' group by uid) |
| 17 | | group by products.serial, history.uid, history.date, hist1.total order by history.date desc) as hist2 |
| 18 | | where (@mintotal := @minTotal + total)) as hust2 where hust2.mintotal > min and hust2.prevtotal < max; |
| 19 | | |
| 20 | | END} |
| 21 | | DELIMITER ; |