Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Como hago esta consulta

Estas en el tema de Como hago esta consulta en el foro de Mysql en Foros del Web. Amigos!!! tengo estas dos tablas: numeracion id - minimo - maximo - empresa 1 - 0 - 100 - genius y la otra datos id ...
  #1 (permalink)  
Antiguo 30/07/2010, 13:04
 
Fecha de Ingreso: junio-2010
Mensajes: 43
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta Como hago esta consulta

Amigos!!!

tengo estas dos tablas:

numeracion
id - minimo - maximo - empresa
1 - 0 - 100 - genius

y la otra

datos
id - numero - descripcion - empresa
1 - 51 - mouse - genius
2 - 3 - teclado - genius
3 - 99 - cpu - genius

ahora lo que quiero yo es saber para la empresa ejemplo Genius
que numeros tiene disponible usar y asi llenar un select.
o sea la empresa genius tiene el rango de 0 - 100 para utilizar y ya lleva ocupados
el numero 51 - 3 - 99 .
en el select me tendria que parecer todo el rango menos los utilizados.

me podran ayudar???

Gracias!!!
  #2 (permalink)  
Antiguo 30/07/2010, 13:42
 
Fecha de Ingreso: julio-2010
Mensajes: 10
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Como hago esta consulta

Me parece que acá mas de que consulta hacer, el problema pasa por como resolverlo por ejemplo en php para armar el html. Con una consulta obtenes los id q ya usaste y dsp, al ir a armar los select, compara q no se encuentre ya usado y de ser así no lo agregues al select. No digo q sea optimo pero funciona :P

La consulta sería:
SELECT numero FROM datos;

Entonces, obteniendo el mínimo y máximo con algo como
SELECT minimo, maximo FROM numeracion;

Te queda armar el select, empezando desde minimo, llegando hasta maximo, comparando cada vez q el numero no este ya usado (de ser así, no armas el option correspondiente).

Repito, pense en php para armar el select html eh.

Salu9
  #3 (permalink)  
Antiguo 12/08/2010, 07:58
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Como hago esta consulta

Aqui esta en Sql ya nada mas seria que lo transformes al myslq, saludos


Código:
declare @minimo as int
declare @maximo as int
declare @empresa as varchar(20)
declare @numero as int

set @empresa='genius'
select @minimo=minimo from numeracion n1 where n1.empresa=@empresa
select @maximo=maximo from numeracion n2 where n2.empresa=@empresa

create table #faltantes(
numero int,
empresa varchar(20)
)

while @minimo<=@maximo
begin
	set @numero=0
	select @numero=numero from datos where numero=@minimo
	if @numero=0
      begin
        insert into #faltantes (numero,empresa) values (@minimo,@empresa)
	  end
set @minimo=@minimo+1
end 
select * from #faltantes

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:14.