Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   No se me ocurre otra forma de hacer esta consulta SQL (https://www.clubdelphi.com/foros/showthread.php?t=59931)

Anyu 13-09-2008 17:09:33

No se me ocurre otra forma de hacer esta consulta SQL
 
Hola a todos tengo un problema con una consulta, necesito traer de un stock de una tienda de ropas, la descripcion de la mercaderia, la existencia en local y sus precios.
Mi problema es el siguiente: El cliente quiere que cuando pida los existentes de un determinado tamaño me traigan solo esos, los exactos, por ejemplo tienen camisas de tamaño G, GG, XGG, etc. y con esta consulta me trae todos los tamaños que contengan G (por ejemplo G, GG, XGG), pero solo quiere ver los G.

select cod_mercaderia as cod, cod_lista, precio_venta,
rubro||'-'||proveedor||'-'||marca||'-'||color||'-'||cant_algodon||'-'||descripcion as detalle,
precio_min as minimo, en_local, precio_costo, iva, precio_min2
from mercaderia, marca, rubro, colores, proveedor
where
mercaderia.cod_proveedor=proveedor.cod_proveedor and
mercaderia.cod_marca=marca.cod_marca and
mercaderia.cod_rubro=rubro.cod_rubro and
mercaderia.cod_color=colores.cod_color and
cod_lista like '%'||p0||'%' and
tamano like '%'||p1||'%' and
marca like '%'|| p2 ||'%' and
rubro like '%'|| p3 ||'%' and
colores.color like '%'|| p4 ||'%' and
cant_algodon like '%'|| p5 ||'%'
order by cod_lista


pero si le saco los comodines solo funciona la busqueda por tamaño pero el resto no, y no pueden buscar por color ni nada.


select cod_mercaderia as cod, cod_lista, precio_venta,
rubro||'-'||proveedor||'-'||marca||'-'||color||'-'||cant_algodon||'-'||descripcion as detalle,
precio_min as minimo, en_local, precio_costo, iva, precio_min2
from mercaderia, marca, rubro, colores, proveedor
where
mercaderia.cod_proveedor=proveedor.cod_proveedor and
mercaderia.cod_marca=marca.cod_marca and
mercaderia.cod_rubro=rubro.cod_rubro and
mercaderia.cod_color=colores.cod_color and
cod_lista like '%'||p0||'%' and
tamano like p1 and
marca like '%'|| p2 ||'%' and
rubro like '%'|| p3 ||'%' and
colores.color like '%'|| p4 ||'%' and
cant_algodon like '%'|| p5 ||'%'
order by cod_lista

coso 14-09-2008 10:32:36

has provado de poner tamano = p1 en vez del like? ten en cuenta que p1 no debera ser nulo o si no no te realizara la busqueda

Anyu 19-09-2008 01:00:53

si ya lo habia probado y me sale en lo mismo, la verdad que no entiendo como algo tan simple puede causarme tantos problemas porque el sr. este quiere que si o si sea el tamano exacto lo que me traiga, y si lo hago de esa forma los otros parametros no traen nada al menos que se ponga antes el tamano si o si

enecumene 19-09-2008 01:29:56

Hola, ¿probaste con quitar el último comodín?

Saludos.

kapcomx 02-10-2008 19:11:38

No se me ocurre otra forma de hacer esta consulra SQL
 
hola, pues si te causa tantos problemas por que no le das la vuelta al problema y haces lo siguiente:
1. agrega un campo x a la tabla, cuando agregues un nuevo registro.
si es talla g le asignas un 1 a x, gg un 2 a x y asi....
2. luego simplemente hacer una consulta

select * from tabla
where x=1

y asi tienes los de talla g.

bueno espero que te sirva mi idea....:cool:


La franja horaria es GMT +2. Ahora son las 04:57:28.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi