PDA

Ver la Versión Completa : Consulta...


superhopi
17-09-2003, 12:50:33
Quiero hacer una consulta para mi programa en la que seleccione solo los registros que tienen en un campo no de esta forma:

---select * from faenas where finalizado = 'No'---

La finalidad es que me imprima esto en un quickreport.
Y el problema... es que me salen los registros, pero repetidos, es decir, si hay dos faenas con Finalizado a 'No' me salen 4 ...

¿Como puedo hacer que me salgan sin repeticion?

Muchas gracias de antemano.

javiermorales
17-09-2003, 12:53:32
Buenos Días, utiliza la clausula DISTINCT:

select DISTINCT * from faenas where finalizado = 'No'

Espero que te sirva.

superhopi
17-09-2003, 13:03:30
Lo he hecho, ya lo intente antes... y me da error,,, me da el sieguiente mensaje:
"No se puede incluir campo de tipo memo, OLE [...] cuando selecciona valores únicos"

Claro,,, tiene dos campos memo...
Tiene un campo clave que es num (que es un numero distinto para cada registro, pero como puedo hacerlo para que no me de el error?

select DISTINCT (NUM), (NOMBRE,,,,) from faenas where finalizado = 'No'

javiermorales
17-09-2003, 13:16:53
Podrías hacer lo siguiente:

select * from faenas
where [campos clave] in (
select DISTINCT [campos clave] from faenas
where finalizado='NO')

Esto suponiendo que los campos clave (lo que diferencia cada registro) no incluye como es lógico ningún campo memo.

guillotmarc
17-09-2003, 13:46:58
Hola

¿ Cual es la consulta completa ?. Puesto que a menos que tengas JOINS en la consulta, no pueden repetirse las filas.

Saludos.

javiermorales
17-09-2003, 14:07:59
Por ejemplo suponiendo una tabla clientes con campos:

ident --> identificador (C.P)
nom --> nombre
finalizado --> [SI/NO]
desc --> MEMO

la SQL sería:

select a.* from clientes a
where a.ident in (select DISTINCT b.ident from clientes b
where b.finalizado='NO')

Un saludo.

Aprendiz
17-09-2003, 18:43:28
Hola Superhopi, te recomendaría que te mirases la guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php) puesto que tu título no es el más adecuado.

Con respecto al problema que planteas, si la consulta es la que es y no hay más cosas, me da la sensación que es un problema de quickreport, por la experiencia que yo tengo el quickreport suele hacer una doble pasada en la construcción de las bandas con lo cual si haces las aperturas o escrituras de los datos en la banda de QR en algún evento de la banda puede producirse este error.

Aprovecho para decir que dado esto que comento quizás, si se confirma el error, moveré el tema al foro de Impresión.

Saludos