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

Devolver unico campo des de un INNER

Estas en el tema de Devolver unico campo des de un INNER en el foro de SQL Server en Foros del Web. Hola, tengo la siguiente sentencia, el problema es que de la segunda tabla quiero que me devuelva solo la "Foto" con "NoticiaFotos.Prioritat" mayor, es decir ...
  #1 (permalink)  
Antiguo 28/12/2010, 02:59
 
Fecha de Ingreso: agosto-2009
Mensajes: 21
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta Devolver unico campo des de un INNER

Hola, tengo la siguiente sentencia, el problema es que de la segunda tabla quiero que me devuelva solo la "Foto" con "NoticiaFotos.Prioritat" mayor, es decir solo un valor, y no sé cómo hacer-lo, alguna idea....

SELECT Noticia.Titol,Noticia.Mostrar, Noticia.data, Noticia.Noticia, NoticiaFotos.Nom, NoticiaFotos.Alt
FROM Noticia LEFT OUTER JOIN
NoticiaFotos ON Noticia.NoticiaId = NoticiaFotos.NoticiaId
WHERE (Noticia.Mostrar = 1) AND (Noticia.MostrarPagPrincipal = 1) AND (Noticia.Noticia = 1) AND (NoticiaFotos.Mostrar = 1)
ORDER BY Noticia.data DESC, NoticiaFotos.Prioritat


MUCHAS GRACIAS
  #2 (permalink)  
Antiguo 28/12/2010, 07:37
Avatar de SOVEREK  
Fecha de Ingreso: julio-2008
Mensajes: 47
Antigüedad: 14 años
Puntos: 0
Respuesta: Devolver unico campo des de un INNER

No entiendo muy bien que quieres...sería calcular el Max de algún campo de la tabla NoticiaFotos ¿?...
Te podría servir algo parecido a esto???mira a ver si funciona la query

Código SQL:
Ver original
  1. SELECT Noticia.Titol,Noticia.Mostrar, Noticia.DATA, Noticia.Noticia, NoticiaFotos.Nom, NoticiaFotos.Alt
  2. FROM Noticia
  3. LEFT OUTER JOIN
  4.     (SELECT *
  5.     FROM NoticiaFotos N1
  6.         INNER JOIN
  7.            (
  8.            SELECT N2.NoticiaId, MAX(N2.Prioritat) AS MaximoP
  9.            FROM NoticiaFotos N2
  10.            GROUP BY N2.NoticiaId
  11.            ) N3
  12.         ON N1.NoticiaId=N3.NoticiaId
  13.         AND N1.Prioritat=N3.MaximoP
  14.     ) N
  15. ON Noticia.NoticiaId = N.NoticiaId
  16. WHERE (Noticia.Mostrar = 1) AND (Noticia.MostrarPagPrincipal = 1) AND (Noticia.Noticia = 1) AND (NoticiaFotos.Mostrar = 1)
  17. ORDER BY Noticia.DATA DESC, NoticiaFotos.Prioritat

Saludos

Última edición por SOVEREK; 28/12/2010 a las 07:49 Razón: .
  #3 (permalink)  
Antiguo 28/12/2010, 07:56
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 16 años, 10 meses
Puntos: 39
Respuesta: Devolver unico campo des de un INNER

Supongo que quieres esto:
Código SQL:
Ver original
  1. SELECT N.Titol,N.Mostrar, N.DATA, N.N, NF.Nom, NF.Alt
  2. FROM Noticia N
  3. LEFT OUTER JOIN (
  4.     SELECT T1.*
  5.     FROM NoticiaFotos T1
  6.     INNER JOIN (
  7.         SELECT NoticiaId,MAX(Prioritat)Prioritat
  8.         FROM NoticiaFotos
  9.         WHERE Mostrar = 1
  10.         GROUP BY NoticiaId
  11.     ) T2 ON T1.NoticiaId = T2.NoticiaId AND T1.Prioritat = T2.Prioritat
  12.     WHERE T1.Mostrar = 1
  13. ) NF ON N.NoticiaId = NF.NoticiaId
  14. WHERE (N.Mostrar = 1) AND (N.MostrarPagPrincipal = 1) AND (N.N = 1) AND (NF.Mostrar = 1)
  15. ORDER BY N.DATA DESC, NF.Prioritat
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.

Etiquetas: des, devolver, unicos, campos
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 04:14.