TSQL verifica se existe uma sequência de linhas específica
Tenho uma tabela contendo campos:
History_ID ORDER_ID Previous_STATUS_ID Next_STATUS_ID
0 2 null 1
1 2 1 2
2 2 2 3
3 1 null 1
4 2 3 4
5 3 null 2
6 2 4 1
7 2 1 2
8 2 2 5
9 7 3 4
10 4 6 2 11 9 3 5
Ele contém meu pedidoID
eID
de status. Basicamente, a tabela contém o histórico deSTATUS
para cada pedido.
Gostaria de verificar se um pedido específico tem uma sequência de pedidos específic
Exemplo: se o ID do pedido 4 tivesse estados2,4,3,1
então retorne verdadeiro
Os status devem ser um após o outro, depois 2 deve ser 4, depois 4 é 3 e depois 1. 1.
ssas seqüências me fornecem informações (que serão exibidas no meu relatório) sobre o fluxo de pedidos específico
Preciso verificar esse tipo de sequência:
1,2,3 1,4,3,2 4,2 (1 ou 2 ou 3 ou 4), 5,3 - um desses 4, depois 5 e depois 3Não sei como começar com esse tipo de consulta: /
EDITAR
Meu relatório final é uma tabela que contém informações sobre pedidos como este:
Orders type Count ...
Profile1 145 ...
Profile2 217 ...
Profile3 12 ...
Profile4 2 ...
Tenho cerca de 800k + pedidos e meu relatório deve ser feito todos os dias. Em vez disso, faço um relatório para toda a tabela (verificando esses ESTADOS e agregando informações de outras tabelas). Decidi criar uma tabela de relatórios:
Order_ID Profile Order_date Customer_profile ...
1 5 '2008-01-03' 2
4 1 '2009-04-10' 3
3 7 '2011-11-03' 1
4523 2 '2012-11-03' 5
Para que eu possa criar um trabalho noturno que adicione novos pedidos a esta tabela com minhas informações, e apenas selecionarei essa tabela para evitar agregação. A primeira inserção será grande, mas na noite seguinte ela adicionará apenas novos pedidos.
Por exemplo, observe o pedido com ID = 2
Next_STATUS_ID ale assim: 1,2,3,4,1,2,5 ... Quero verificar se esta ordem tem histórico de alterações como 1,2,5, portanto minha função (instrução select) deve repetir 1 se encontra esses IDs nessa ordem.