Soporte sobre query

18/12/2007 - 21:35 por Miguel A. | Informe spam
Como puedo hacer esto.
Necesito saber los cliente que tengan los productos 11 y 22, peor que no
tengan los demas.
Que pasa, que los demas, son cerca de 50 productos y no quiero poner todos
en la query,
por lo que como puedo hacerlo??. gracias.

select cliente,producto
from tabla1
where producto in (11,22) and producto not in
(55,66,67,86,33,23,45,N)

Preguntas similare

Leer las respuestas

#6 achesere
19/12/2007 - 13:16 | Informe spam
Da los mismo, puede ser:

Select 1 ...

Select * ...

Select 'a'

puesto que lo que estas comprobando es la existencia de una fila y nada más.


"Miguel A." escribió en el mensaje
news:
Gracias,pero select 1 es select * ????

"achesere" escribió en el mensaje
news:fk9dj2$oqd$
select a.cliente,a.producto
from tabla1 a
where a.producto in (11,22)
and not exists ( select 1
from tabla1 b
where a.cliente = b.cliente
and b.producto not in (11,22)
)


"Miguel A." escribió en el mensaje
news:
Como puedo hacer esto.
Necesito saber los cliente que tengan los productos 11 y 22, peor que no
tengan los demas.
Que pasa, que los demas, son cerca de 50 productos y no quiero poner
todos en la query,
por lo que como puedo hacerlo??. gracias.

select cliente,producto
from tabla1
where producto in (11,22) and producto not in
(55,66,67,86,33,23,45,N)









Respuesta Responder a este mensaje
#7 achesere
19/12/2007 - 13:19 | Informe spam
Selecciona los clientes que tienen el producto 11 o 22 (o deben tener ambos,
surgió la duda) :

select a.cliente,a.producto
from tabla1 a
where a.producto in (11,22) ...

Y que no tengan productos distintos del 11 o del 22:

and not exists ( select 1
from tabla1 b
where a.cliente = b.cliente
and b.producto not in (11,22)
)

¿Qué es lo que no te sale?



"Miguel A." escribió en el mensaje
news:
no me salen las cuentas con esta query
me la puedes explicar?

"achesere" escribió en el mensaje
news:fk9dj2$oqd$
select a.cliente,a.producto
from tabla1 a
where a.producto in (11,22)
and not exists ( select 1
from tabla1 b
where a.cliente = b.cliente
and b.producto not in (11,22)
)


"Miguel A." escribió en el mensaje
news:
Como puedo hacer esto.
Necesito saber los cliente que tengan los productos 11 y 22, peor que no
tengan los demas.
Que pasa, que los demas, son cerca de 50 productos y no quiero poner
todos en la query,
por lo que como puedo hacerlo??. gracias.

select cliente,producto
from tabla1
where producto in (11,22) and producto not in
(55,66,67,86,33,23,45,N)









Respuesta Responder a este mensaje
#8 Miguel A.
19/12/2007 - 20:55 | Informe spam
debn tener 11y 22, y no tener los otros 50 que existen.
Se puede hacer esto con count y distinct????

Gracias


"achesere" escribió en el mensaje
news:fkb28j$68s$
Selecciona los clientes que tienen el producto 11 o 22 (o deben tener
ambos, surgió la duda) :

select a.cliente,a.producto
from tabla1 a
where a.producto in (11,22) ...

Y que no tengan productos distintos del 11 o del 22:

and not exists ( select 1
from tabla1 b
where a.cliente = b.cliente
and b.producto not in (11,22)
)

¿Qué es lo que no te sale?



"Miguel A." escribió en el mensaje
news:
no me salen las cuentas con esta query
me la puedes explicar?

"achesere" escribió en el mensaje
news:fk9dj2$oqd$
select a.cliente,a.producto
from tabla1 a
where a.producto in (11,22)
and not exists ( select 1
from tabla1 b
where a.cliente = b.cliente
and b.producto not in (11,22)
)


"Miguel A." escribió en el mensaje
news:
Como puedo hacer esto.
Necesito saber los cliente que tengan los productos 11 y 22, peor que
no tengan los demas.
Que pasa, que los demas, son cerca de 50 productos y no quiero poner
todos en la query,
por lo que como puedo hacerlo??. gracias.

select cliente,producto
from tabla1
where producto in (11,22) and producto not in
(55,66,67,86,33,23,45,N)













Respuesta Responder a este mensaje
#9 achesere
20/12/2007 - 01:53 | Informe spam
select distinct a.cliente
from tabla1 a
where a.producto in (11,22)
and not exists ( select 1
from tabla1 b
where a.cliente = b.cliente
and b.producto not in (11,22)
)
"Miguel A." escribió en el mensaje
news:
debn tener 11y 22, y no tener los otros 50 que existen.
Se puede hacer esto con count y distinct????

Gracias


"achesere" escribió en el mensaje
news:fkb28j$68s$
Selecciona los clientes que tienen el producto 11 o 22 (o deben tener
ambos, surgió la duda) :

select a.cliente,a.producto
from tabla1 a
where a.producto in (11,22) ...

Y que no tengan productos distintos del 11 o del 22:

and not exists ( select 1
from tabla1 b
where a.cliente = b.cliente
and b.producto not in (11,22)
)

¿Qué es lo que no te sale?



"Miguel A." escribió en el mensaje
news:
no me salen las cuentas con esta query
me la puedes explicar?

"achesere" escribió en el mensaje
news:fk9dj2$oqd$
select a.cliente,a.producto
from tabla1 a
where a.producto in (11,22)
and not exists ( select 1
from tabla1 b
where a.cliente = b.cliente
and b.producto not in (11,22)
)


"Miguel A." escribió en el mensaje
news:
Como puedo hacer esto.
Necesito saber los cliente que tengan los productos 11 y 22, peor que
no tengan los demas.
Que pasa, que los demas, son cerca de 50 productos y no quiero poner
todos en la query,
por lo que como puedo hacerlo??. gracias.

select cliente,producto
from tabla1
where producto in (11,22) and producto not in
(55,66,67,86,33,23,45,N)

















Respuesta Responder a este mensaje
#10 Carlos M. Calvelo
20/12/2007 - 10:31 | Informe spam
Hola Miguel,

On 19 dec, 20:55, "Miguel A." wrote:
debn tener 11y 22, y no tener los otros 50 que existen.
Se puede hacer esto con count y distinct????




Si tiene que tener 11 *Y* 22 puedes probar esto:


select a.cliente
from tabla a inner join tabla b
on a.cliente=b.cliente
where a.producto and b.producto" and
not exists (select top 1 *
from tabla
where cliente = a.cliente and
producto not in (11,22))

O esto:

select cliente
from tabla
group by cliente
having sum(case producto when 11 then 1 else 0 end) > 0 and
sum(case producto when 22 then 1 else 0 end) > 0 and
sum(case when producto in (11,22) then 0 else 1 end) = 0


Saludos,
Carlos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida