Я пытаюсь отследить использование лезвия в производственном процессе с использованием SSMS 2017. Лезвие загружается и используется на продукте до тех пор, пока оно не станет тусклым, а затем вытащено для заточки, пока другой лезвие не заменит его. У нас есть 30 лезвий, которые зациклены для использования и заточки.
Используя таблицу, в которой указаны номер партии продукта (последовательный) и имя блейда, я бы хотел разделить использование каждой серии имени блейда на группы.
Мои навыки sql довольно просты, поэтому я пробовал row_number, rank и некоторые попытки использования функций опережения и отставания. Пока что это позволило мне разбить каждый продукт по порядку на основе имени блейда и идентифицировать продукт, на котором производится замена блейда. Я чувствую, что это может быть полезно, но мне трудно понять, как именно это сделать.
Я хотел бы иметь возможность присвоить каждой группе изделий, изготовленных с итерацией лезвия, идентификационный номер. Например:
LotNo BladeID Iteration
418211 BH40 1
418212 BH40 1
418213 BH40 1
418214 ES11 2
418215 ES11 2
418216 BH40 3
В настоящее время я могу выдавать неправильные результаты:
Использование:
SELECT b.LotNo,
b.BladeID,
ROW_NUMBER() OVER (PARTITION BY b.BladeID ORDER BY b.BladeID)
FROM blades AS b
ORDER BY b.LotNo ASC;
Я получаю:
LotNo BladeID Iteration
418211 BH40 1
418212 BH40 2
418213 BH40 3
418214 ES11 1
418215 ES11 2
418216 BH40 4