Join de 2 tablas y mostrar el primer resultado de la tabla 2
Hola,
es un poco complejo explicar la duda que tengo. Quiero hacer una join de 2 tablas: TABLA_A y TABLA_B Para un registro de TABLA_A puede relacionarse con varios de la TABLA_B de forma que quedaría un posible resultado: REG1_TABLA_A - REG1_TABLA_B REG1_TABLA_A - REG2_TABLA_B REG1_TABLA_A - REG3_TABLA_B REG2_TABLA_A - REG4_TABLA_B REG2_TABLA_A - REG5_TABLA_B REG2_TABLA_A - REG6_TABLA_B REG3_TABLA_A - REG7_TABLA_B Quisiera sacar la query para que me muestre sólo el primer resultado de la TABLA_B con la TABLA_A de forma que el resultado quede: REG1_TABLA_A - REG1_TABLA_B REG2_TABLA_A - REG4_TABLA_B REG3_TABLA_A - REG7_TABLA_B es decir que saque el max de la TABLA_B en cada grupo. ¿Qué he probado? hacer un group by del ID de la TABLA_A first max no sé que más probar. |
Podrías hacer lo siguiente :
Un saúdo. |
Hola Ivanzinho,
me ha ido bien esta query. Jo, lo sencilla que parece... eso demuestra que me falta nivel en SQL :( Un saludo y gracias!! |
Duda para más campos
Hola Ivanzinho,
se me ha presentado otro problema: si ahora quiero añadir TB.Campo2 en la select, por ejemplo:
y Campo2 es diferente en todas las lineas, me vuelve a sacar todas los registros sin sacarme unicamente el max de TB.Campo. Por lo tanto, vuelve a sacarme: REG1_TABLA_A - REG1_TABLA_B REG1_TABLA_A - REG2_TABLA_B REG1_TABLA_A - REG3_TABLA_B ¿Qué condición tengo que poner para que me coja sólo el primer max(TB.Campo) independientemente si TB.Campo2 es diferente en todas las lineas o no? Cita:
|
La franja horaria es GMT +2. Ahora son las 00:55:54. |
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