consulta SQL

17/06/2004 - 00:39 por MIKE | Informe spam
pueden ayudarme con una consulta SQL que necesito hacer y
no se como hacerla..

Tengo una tabla llamada "clientes" y contiene los campos
idcliente, nombres, apellidos, direccion y telefono .

Tambien una llamada "compras" que contiene los campos
id_compra, id_cliente, fecha, total.

Mi consulta consiste en seleccionar todos los datos de
los clientes que hasta el momento no han hecho una compra
o no están registrados en la tabla "compras"

Preguntas similare

Leer las respuestas

#1 MAXI
17/06/2004 - 00:46 | Informe spam
Hola mike, la idea seria:


Select clientes.idcliente,clientes.nombre FROM CLIENTES left join compras on
clientes.idcliente = compras.idcliente
where compras.idcliente is NULL

Suerte




Maxi

Buenos Aires - Argentina

Desarrollador .NET 3 Estrellas

Mail: Maxi_accotto[arroba]speedy.com.ar

MSN:


"MIKE" escribió en el mensaje
news:1dac101c453f2$cd9bd730$
pueden ayudarme con una consulta SQL que necesito hacer y
no se como hacerla..

Tengo una tabla llamada "clientes" y contiene los campos
idcliente, nombres, apellidos, direccion y telefono .

Tambien una llamada "compras" que contiene los campos
id_compra, id_cliente, fecha, total.

Mi consulta consiste en seleccionar todos los datos de
los clientes que hasta el momento no han hecho una compra
o no están registrados en la tabla "compras"
Respuesta Responder a este mensaje
#2 Fernando España
17/06/2004 - 00:57 | Informe spam
puedes hacer algo sencillo como select id_cliente,Nombres.apellidos from
clientes
where id_cliente not in (select id_cliente from
compras )



Fernando España
Gerente Informatica
Alta Tecnologia en Informatica S.A.
www.atisa.com.gt
7a. calle 4-34 Zona 10
Guatemala Centro America
PBX: (502) 3620005

Email:

****************************************

"MIKE" escribió en el mensaje
news:1dac101c453f2$cd9bd730$
pueden ayudarme con una consulta SQL que necesito hacer y
no se como hacerla..

Tengo una tabla llamada "clientes" y contiene los campos
idcliente, nombres, apellidos, direccion y telefono .

Tambien una llamada "compras" que contiene los campos
id_compra, id_cliente, fecha, total.

Mi consulta consiste en seleccionar todos los datos de
los clientes que hasta el momento no han hecho una compra
o no están registrados en la tabla "compras"
Respuesta Responder a este mensaje
#3 MAXI
17/06/2004 - 01:25 | Informe spam
Hola Fer, vale aclarar que el uso de NOT IN es mas lento que el uso de JOIN
:(

Suerte




Maxi

Buenos Aires - Argentina

Desarrollador .NET 3 Estrellas

Mail: Maxi_accotto[arroba]speedy.com.ar

MSN:


"Fernando España" escribió en el mensaje
news:eunRIP$
puedes hacer algo sencillo como select id_cliente,Nombres.apellidos from
clientes
where id_cliente not in (select id_cliente from
compras )



Fernando España
Gerente Informatica
Alta Tecnologia en Informatica S.A.
www.atisa.com.gt
7a. calle 4-34 Zona 10
Guatemala Centro America
PBX: (502) 3620005

Email:

****************************************

"MIKE" escribió en el mensaje
news:1dac101c453f2$cd9bd730$
pueden ayudarme con una consulta SQL que necesito hacer y
no se como hacerla..

Tengo una tabla llamada "clientes" y contiene los campos
idcliente, nombres, apellidos, direccion y telefono .

Tambien una llamada "compras" que contiene los campos
id_compra, id_cliente, fecha, total.

Mi consulta consiste en seleccionar todos los datos de
los clientes que hasta el momento no han hecho una compra
o no están registrados en la tabla "compras"


Respuesta Responder a este mensaje
#4 Fernando España
17/06/2004 - 02:01 | Informe spam
Suele ser mas rapido, lo que no signifique que siempre sea mas rapido, hice
una prueba con mi tabla de clientes 4345 clientes
contra un historial de facturacion de 2,395,230 documentos de los ultimos
dos años y lso dos me devolvieron
437 clientes que no habian tenido movimientos en esos dos años con el tiempo
exactamente igual de 0.00.48

select * from tbl_clientes where id_cliente not in (select id_cliente from
tbl_detalle_cargable)

SELECT * FROM tbl_clientes LEFT JOIN tbl_detalle_cargable ON
tbl_clientes.id_cliente = tbl_detalle_cargable.id_cliente
WHERE (((tbl_detalle_cargable.id_cliente) Is Null))




Fernando España
Gerente Informatica
Alta Tecnologia en Informatica S.A.
www.atisa.com.gt
7a. calle 4-34 Zona 10
Guatemala Centro America
PBX: (502) 3620005

Email:

****************************************

"MAXI" escribió en el mensaje
news:u6zo9k$
Hola Fer, vale aclarar que el uso de NOT IN es mas lento que el uso de


JOIN
:(

Suerte




Maxi

Buenos Aires - Argentina

Desarrollador .NET 3 Estrellas

Mail: Maxi_accotto[arroba]speedy.com.ar

MSN:


"Fernando España" escribió en el mensaje
news:eunRIP$
> puedes hacer algo sencillo como select id_cliente,Nombres.apellidos from
> clientes
> where id_cliente not in (select id_cliente from
> compras )
>
>
>
> Fernando España
> Gerente Informatica
> Alta Tecnologia en Informatica S.A.
> www.atisa.com.gt
> 7a. calle 4-34 Zona 10
> Guatemala Centro America
> PBX: (502) 3620005
>
> Email:
>
> ****************************************
>
> "MIKE" escribió en el mensaje
> news:1dac101c453f2$cd9bd730$
> pueden ayudarme con una consulta SQL que necesito hacer y
> no se como hacerla..
>
> Tengo una tabla llamada "clientes" y contiene los campos
> idcliente, nombres, apellidos, direccion y telefono .
>
> Tambien una llamada "compras" que contiene los campos
> id_compra, id_cliente, fecha, total.
>
> Mi consulta consiste en seleccionar todos los datos de
> los clientes que hasta el momento no han hecho una compra
> o no están registrados en la tabla "compras"
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida