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

Condicion dentro de select

Estas en el tema de Condicion dentro de select en el foro de SQL Server en Foros del Web. Duda seguramente simple: Quiero un listado de clientes que han hecho pedido de uno de dos determinados productos en FALTA. Si hago lo siguiente me ...
  #1 (permalink)  
Antiguo 07/05/2009, 08:12
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 15 años
Puntos: 0
Condicion dentro de select

Duda seguramente simple:

Quiero un listado de clientes que han hecho pedido de uno de dos determinados productos en FALTA. Si hago lo siguiente me sale el listado de clientes que han hecho pedido de ese producto PERO PUEDE QUE EL PRODUCTO EN FALTA NO SEA EL QUE YO QUIERO.


SELECT FECHAD, CODCLI, NMATAN
FROM TNDEC.IHPOS_2007
WHERE FECHAD BETWEEN '20070601' AND '20070630'
AND NMATAN IN ('711887','799973')
AND CANT+CANTB='0'
GROUP BY FECHAD, CODCLI, NMATAN
order by FECHAD;
  #2 (permalink)  
Antiguo 07/05/2009, 08:25
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Respuesta: Condicion dentro de select

y como sabes que producto quieres?

En el primer enunciado decias que sea producto en FALTA, como determinas eso?

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 07/05/2009, 08:28
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 15 años
Puntos: 0
Respuesta: Condicion dentro de select

Cuando CANTC+CANTB='0' es que del producto se han servido cero unidades. Pero claro si lo hago en el WHERE general obtengo si ha estado en falta cualquiera de los productos que puedan ir dentro del pedido.

Estoy comiendome la cabeza con CASE, pero no se si van por ahi los tiros.

Gracias por tu rápida respuesta.
  #4 (permalink)  
Antiguo 07/05/2009, 08:30
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 15 años
Puntos: 0
Respuesta: Condicion dentro de select

A mi me interesa saber unicamente cuando los productos en falta han sido alguno de los dos especificados.

Un pedido puede llevar desde un producto hasta cienmil productos.

Gracias.
  #5 (permalink)  
Antiguo 07/05/2009, 08:42
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Respuesta: Condicion dentro de select

No sera que te falta la letra C en tu query?
En todo caso pon unos registros de ejemplos para entender mejor tu problema.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #6 (permalink)  
Antiguo 07/05/2009, 08:42
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Respuesta: Condicion dentro de select

no entendi muy bien pero,

NMATAN IN ('711887','799973') <-- esto te dice el numero de producto?

si lo agregas en el where, deberia filtrarte esos productos...

--

no, el case se utiliza para seleccionar entre valores de un mismo registro o variable.

Para filtrar registro debes utilizar el Where o bien el Having...
--

edit: Buena observacion flavio, jejeje puede ser que la tabla tenga dicho campo y este causando el ruido...


Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #7 (permalink)  
Antiguo 07/05/2009, 09:06
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 15 años
Puntos: 0
Respuesta: Condicion dentro de select

Ojalá y fuera lo de la C dichosa, no, eso me colé yo al copiar en un txt de pruebas.

FECHA CLIENTE PRODUCTO

20070609 0010103141 799973


El cliente 10103141 hizo un pedido el día 9 de junio del 2007 con 45 productos, 6 de ellos en falta, sin embargo el producto 799973 si que estaba en stock y se le sirvió pero lo saca en el resultado de la query, cómo puede ser?

Gracias.
  #8 (permalink)  
Antiguo 07/05/2009, 10:05
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Respuesta: Condicion dentro de select

Qué valores tienen CANTC y CANTB para ese registro?
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
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 00:19.