Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-10-2006
kejos kejos is offline
Miembro
 
Registrado: dic 2005
Posts: 13
Poder: 0
kejos Va por buen camino
Cool consulta.......

Hola a todos!!!!!!
tengo una pequeña duda....
Yo tengo una consulta digamos de libros cierto cada libro esta relacionado con materias entonces un libro puede estar relacionadocon varias materias lo que yo quiero es que cuando ya haga una consulta de libros y materias si el libro esta relacionado con varias materias no me salga el numero de veces que esta relacionado con alguna materia sino que me salga el libro una vez y en un campo las materias que esten relacionadas con el libro.
Alguien me puede dar una idea de cómo hacer esto? teniendo en cuenta que es una vista que estoy haciendo para abrirla desde excel.
muchas gracias por toda la colaboración que puedan brindarme
Responder Con Cita
  #2  
Antiguo 07-10-2006
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
Thumbs up

Bueno creo que si colocas DISTINCT en tu consulta puede que se solucione, por ejemplo:

Código:
select distinct campo(s)
from tabla(s)
where condicion(es)
order by campo(s)
Prueba, un saludo.
Responder Con Cita
  #3  
Antiguo 09-10-2006
kejos kejos is offline
Miembro
 
Registrado: dic 2005
Posts: 13
Poder: 0
kejos Va por buen camino
Wink

Hola!!!!
Ya lo intente de esta manera pero de igual manera me siguien saliendo varios libros según el núemro de materias que tenga relacionados....
GRacias por tu respuuesta
Responder Con Cita
  #4  
Antiguo 09-10-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Cita:
que me salga el libro una vez y en un campo las materias que esten relacionadas con el libro.
Podrías hacerlo con un procedimiento almacenado, pero creo que es una chapucilla, amén de dificultar más las cosas. La idea es que el procedimiento almacenado seleccione los campos de la tabla libros y devuelva un campo adicional de tipo texto, en ese campo, concatenas el nombre de todas las materias a las que pertenezca dicho libro. Los inconvenientes son obvios, si despues necesitas esas materia para otros fines, será un dolor de cabeza trocear ese campo para sacar individualmente las materias.

Si sql server permite el uso de arrays en la definición de una vista, podría ser una solución, aunque no he trabajado ni con sql server ni con arrays así definidas.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 10-10-2006
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
Por lo que he notado deseas hacer algo como:
______________________________________
|Libro | Materia1 | Materia2 | ... | MateriaN |
|_____________________________________|
....
....
....

Que te parece si nos cuentas en que motor tienes la BD, y en que versión de Delphi estas desarrollando

Última edición por subzero fecha: 10-10-2006 a las 15:41:19.
Responder Con Cita
  #6  
Antiguo 10-10-2006
Avatar de edgusano
edgusano edgusano is offline
Miembro
 
Registrado: abr 2004
Ubicación: Medellin Colombia
Posts: 180
Poder: 21
edgusano Va por buen camino
Puede que este equivocado pero lo qe buscas puedes encontrar informacion buscando por pivotear tablas. Pivot tables en Sql Server. dale una busqueda en google que te arrojara unos cuantos resultados puede que sea lo que necesitas.
__________________
Optimus Prime
Responder Con Cita
  #7  
Antiguo 10-10-2006
kejos kejos is offline
Miembro
 
Registrado: dic 2005
Posts: 13
Poder: 0
kejos Va por buen camino
Wink

Hola!!!!
mi motor de BD es SQL server 2000 y no tiene que ver con la aplicación porque lo que necesito es hacer la vista para llevarla a excel.

muchas gracias
Responder Con Cita
  #8  
Antiguo 10-10-2006
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 23
__hector Va por buen camino
Creo que la solucion estaria en hacer una subconsulta (en vez de join) para traer el detalle del campo que contiene varios registros, y usar la funcion COALESCE para concatenar el resultset de cada subconsulta en un solo registro, quizas separado por comas.

Busca mas informacion de esta funcion en Google o los books online.
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
consulta sobre consulta superhopi SQL 2 16-05-2003 19:01:47


La franja horaria es GMT +2. Ahora son las 21:37:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi