Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rafael_tst

Sequencia de intervalo

Recommended Posts

Olá galera, estou me matando aqui e não consigo arrumar solução pra minha dúvida, vejam:

 

Imaginem que eu tenho armário cheio de gavetas, cada gaveta tem um número, são 3360 gavetas.

 

Então eu criei uma tabela com a seguinte estrutura:

 

gvt_id -> número da gaveta;

gvt_prod -> id do produto que vai ficar nessa gaveta, padrão = 0;

 

Sendo assim minha tabela "gavetas" tem 3360 registros.

 

No sistema o usuário cadastra o produto e informa quantas gavetas serão usadas para guardar o produto.

 

Por Exemplo 5 gavetas.

 

Qual consulta eu devo fazer para que o Mysql me retorne o id destas 5 gavetas?

Considerando que elas devem estar em ordem sequencial, por ex: 1,2,3,4 e 5?

 

Se fosse só isso, nem seria complicado, SELECT com limit 5.

 

O problema esta em por exemplo

 

um produto esta nas gavetas 1,2 e 3, e um outro nas gavetas 7,8 e 9.

 

Com select simples ele vai me retornar as gavetas : 4, 5, 6 , 10 e 11, mas eu preciso que ele me retorne as gavetas de 10 a 15 (para 5 gavetas) ou seja, gavetas sequenciais, porém se fosse cadastra um produto para duas gavetas ele teria que me retornar as gavetas 4 e 5.

 

tinha que ser uma query onde os resultados sempre fossem obrigatóriamente em sequencia, tipo de 1 a 5 , 9 a 14 etc.

 

Essa tabela que eu montei é a forma correta? existe outra maneira de se fazer isso?

 

Se alguem por favor puder me ajudar serei muito grato.

 

Desde já obrigado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom isso ai que você imaginou nao eh algo mto produtivo e de facil controle

 

faça uma tabela de produtos com chave primaria no codigo do produto

 

e uma tabela de gavetas q seria chave estrangeira com o codigo do produtos e as gavetas q ele esta

 

PRODUTO -- NA_GAVETA

1 1

1 2

1 3

1 4

1 5

 

 

na hora do select basta juntar as duas pra descobri as gavetas

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.