![]() |
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 |
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
|
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
|
Hola, ¿probaste con quitar el último comodín?
Saludos. |
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 18:29:47. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi