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
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

JOIN + WHERE

Publicado por Isaias (4557 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
sin imagen de perfil
Val: 86
Ha disminuido su posición en 2 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

JOIN + WHERE

Publicado por Rafael (110 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