Я создаю программу, которая управляет производством, и мне нужно показать прослеживаемость каждого продукта (все пути, которые он потребовал от создания до его окончательной доставки. Позвольте мне показать вам пример :.. завод создает документ A001
, с количеством 400
Затем они должны разделить продукт, создавая документы B002
и B003
, как с количеством 200
и как с их Parent
значением поля A001
После этого, они будут раскол B002
на мелкие куски. Это создает документы C004
, C005
, C006
и C007
, все с количеством 50
и все со значением поля Parent
B002
.Эти мелких кусков также может быть разделен снова ...SQL Server Полная прослеживаемость продукта
Теперь, если бы я хотел, чтобы проследить полный цикл документа B002
, я бы проверить поле Parent
и перекрестите его с полем документа, чтобы получить эту информацию, а затем получите документы, в которых поле Parent
равно B002
. Это «легкая» часть.
Теперь сложная часть.
Я хочу знать полный цикл документа C007
. Я должен проверить его родителя и получить документ B002
, ТОГДА должен получить Parent
этого документа и получить документ A001
. Я также проверял документы с Parent
C007
и не нашел их.
Или узнать полный цикл документа A001
. Я бы проверял, есть ли какие-либо Parent
(их не будет), они должны будут получить все документы с Parent
A001
, а затем получить все документы с Parent
B002
и B003
и так далее.
Есть ли какая-либо функция на SQL, которая позволяет мне это делать, или мне нужно создать процедуру, которая повторяется снова и снова, чтобы проверить как родителей, так и детей? И если это так, я не знаю, что делать, поэтому любая помощь будет оценена.
Спасибо. Это кажется хорошим началом. – ThadiusZho