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

SELECT algo complicado para mi...

Estas en el tema de SELECT algo complicado para mi... en el foro de Bases de Datos General en Foros del Web. Esto es lo que quiero buscar: DNI y nombre de todos los clientes que vivan en una ciudad cuyo nombre empieza por “b” junto con ...
  #1 (permalink)  
Antiguo 24/05/2010, 03:58
Avatar de plantala  
Fecha de Ingreso: abril-2008
Ubicación: Jamaica
Mensajes: 176
Antigüedad: 16 años, 7 meses
Puntos: 1
SELECT algo complicado para mi...

Esto es lo que quiero buscar:
DNI y nombre de todos los clientes que vivan en una
ciudad cuyo nombre empieza por “b” junto con la fecha de la
venta mas reciente en la que ha participado dicho cliente


Tengo las siguientes tablas:

CLIENTE(DNI,Nombre,Calle,Ciudad,Tlf)

COMPRAR(Ref_Cocina,DNI_Cliente,Fecha_Compra)

COCINA(Ref,Descripcion,Cantidad_Muebles,Fecha_Venta_Cod_Dist ribuidor)

Al intentar buscar los clientes que viven en una ciudad que empieza por "b", hago la siguiente select, y no me sale ni eso, me dice que No se ha encontrado ningun dato:

SELECT DNI,NOMBRE FROM CLIENTE WHERE CIUDAD = 'B*';

Agradeceria mucho vuestra ayuda.
Un saludo.
__________________
"Independizate de la esclavitud mental; tan solo nosotros mismos podemos liberar nuestra mente"-Bob Marley
  #2 (permalink)  
Antiguo 24/05/2010, 04:00
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 17 años, 3 meses
Puntos: 18
Respuesta: SELECT algo complicado para mi...

Prueba asi:


SELECT DNI,NOMBRE FROM CLIENTE WHERE CIUDAD like 'B*';

Un saludo
  #3 (permalink)  
Antiguo 24/05/2010, 04:05
Avatar de plantala  
Fecha de Ingreso: abril-2008
Ubicación: Jamaica
Mensajes: 176
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: SELECT algo complicado para mi...

Buenas Taribo, gracias por responderme.
Asi tambien lo he probado y me da la misma respuesta. Y te aseguro que en las tablas hay ciudades que empiezan por "b". Que me dices sobre la consulta entera? Buscar tambien lo de la fecha?

Por cierto, por si sirve de algo, estoy utilizando Oracle.
__________________
"Independizate de la esclavitud mental; tan solo nosotros mismos podemos liberar nuestra mente"-Bob Marley
  #4 (permalink)  
Antiguo 24/05/2010, 04:41
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 17 años, 3 meses
Puntos: 18
Respuesta: SELECT algo complicado para mi...

Sireve y mucho saber que usas oracle. Yo no lo uso, pero un rapida busqueda en google:

http://www.techonthenet.com/sql/like.php

Parece ser que podria valer con:

SELECT DNI,NOMBRE FROM CLIENTE WHERE CIUDAD like 'B%';

Un saludo
  #5 (permalink)  
Antiguo 24/05/2010, 04:51
Avatar de plantala  
Fecha de Ingreso: abril-2008
Ubicación: Jamaica
Mensajes: 176
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: SELECT algo complicado para mi...

Muchas gracias Taribo!
Si que funciona con el 'B%'.
Y que me dices de la consulta completa? Yo diria que es algo asi:

SELECT CL.DNI,CL.NOMBRE,MAX(C.FECHA_COMPRA) FROM CLIENTE CL,COMPRAR C WHERE CIUDAD LIKE 'B%' AND CL.DNI=C.DNI_CLIENTE;

Pero asi no sale... Que es lo que estoy haciendo mal?

El mensaje que me da es el siguiente:
la funcion de grupo no es de grupo ùnico

Muchas gracias de nuevo por la ayuda.
Un saludo.
__________________
"Independizate de la esclavitud mental; tan solo nosotros mismos podemos liberar nuestra mente"-Bob Marley
  #6 (permalink)  
Antiguo 24/05/2010, 07:06
Avatar de plantala  
Fecha de Ingreso: abril-2008
Ubicación: Jamaica
Mensajes: 176
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: SELECT algo complicado para mi...

Creo que he encontrado la solucion, aparentemente me sale bien por lo menos, me faltaba el GROUP BY:

SELECT CL.DNI,CL.NOMBRE,MAX(C.FECHA_COMPRA) FROM CLIENTE CL,COMPRAR C WHERE CIUDAD LIKE 'B%' AND CL.DNI=C.DNI_CLIENTE GROUP BY CL.DNI,CL.NOMBRE;
__________________
"Independizate de la esclavitud mental; tan solo nosotros mismos podemos liberar nuestra mente"-Bob Marley

Etiquetas: select
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 14:39.