Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-04-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Sigo pensando, lo has hecho alreves.?
Código SQL [-]
SELECT  DISTINCT  dbo.dtInstituciones.NombreLargo, dbo.dtInstituciones.NombreCorto, dbo.dtDirecciones.ID_institucion, dbo.dtDirecciones.Calle, Last(dbo.dtDirecciones.ID) AS dtDirecciones.ID
FROM  dbo.dtInstituciones INNER JOIN dbo.dtDirecciones ON dbo.dtInstituciones.ID = dbo.dtDirecciones.ID_Institucion
Tal vez last en primer lugar lo interprete diferente, no se pruebalo.
Saludos
Responder Con Cita
  #2  
Antiguo 26-04-2007
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.418
Poder: 24
fjcg02 Va camino a la fama
Código SQL [-]
SELECT dbo.dtInstituciones.NombreLargo,  -- en el group by 
           dbo.dtInstituciones.NombreCorto,  -- en el group by
           first(dbo.dtDirecciones.ID), 
           first(dbo.dtDirecciones.ID_institucion), 
           first(dbo.dtDirecciones.Calle)
FROM  dbo.dtInstituciones INNER JOIN
         dbo.dtDirecciones ON dbo.dtInstituciones.ID =
         dbo.dtDirecciones.ID_Institucion
GROUP BY dbo.dtInstituciones.NombreLargo, dbo.dtInstituciones.NombreCorto
Cuando quieres hacer algo similar, siempre tendrás que utilizar funciones de agrupación. En este caso, y como comentabais anteriormente, si una institución tiene 2 direcciones siempre saldrá dos veces. Para evitarlo, utiliza GROUP BY. Agrupas por los campos que quieres que sólo salgan una vez, el resto , función de grupo. En este caso yo he utilizado first, que muestra la primera que encuentra, podrías usar last, y si el campo es numérico first - primero, last - ultimo, sum- suma, average - media, min -minimo o max - maximo...

Ten en cuenta que cuando uses Group by cualquier campo que no tenga una función de las antes indicadas, seberá aparecer detrás del group by.

Espero haberte ayudado.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
problema con consulta ddd_ddd SQL 2 01-02-2007 17:02:53
problema con consulta sql Cosgaya SQL 4 16-01-2006 18:09:17
Problema con consulta de SQL Durbed Firebird e Interbase 2 30-09-2004 21:41:39
problema con consulta cval Firebird e Interbase 3 30-04-2004 06:33:50
problema con consulta. jsanchez SQL 2 20-05-2003 19:35:55


La franja horaria es GMT +2. Ahora son las 11:38:27.


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