SQL Server - JOIN + WHERE

   
Vista:

JOIN + WHERE

Publicado por gramer (2 intervenciones) el 23/06/2015 16:57:32
Buenas, tengo la tabla 1 con estos datos:

Tabla1
-----------
ID - NOM
1 - A
2 - B


Tabla2
----------
IDT1 - DESCR - VALOR
1 X1 5
1 X2 10
2 X1 6
2 X2 11


y esta join:
select t1.NOM, t2.VALOR
from Tabla1 t1
INNER JOIN Tabla2 t2 ON t2.IDT1 == t1.ID


obtengo este resultado:

A - 5
A - 10
B - 6
B - 11


Me gustaria obtener como resultado solo el mayor valor de T2 para cada T1, o sea este:
A - 10
B - 11


Se hacerlo agrupando pero.. sin agrupaciones habria alguna forma con algun tipo de filtro o condicion de la join... ? (el ejemplo por el cual no puedo agrupar no puedo explicarlo en este ejemplo, ya que mi caso real es mucho más grande e intervienen muchas mas tablas)


gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

JOIN + WHERE

Publicado por Isaias (3180 intervenciones) el 23/06/2015 17:07:18
Para eso es el GROUP en conjunto con el MAX()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

JOIN + WHERE

Publicado por Rafael (88 intervenciones) el 24/06/2015 10:09:57
Podrias hacer algo similar a esto:

1
2
3
SELECT T1.NOM
     , (SELECT MAX(VALOR) FROM TABLA2 T2 WHERE T2.IDT1 = T1.ID)
FROM   TABLA1 T1

Ya nos contaras...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar