08/10/2005, 12:43
|
| | Fecha de Ingreso: noviembre-2004
Mensajes: 10
Antigüedad: 20 años Puntos: 0 | |
el group by me produce el mismo resultado que el distinct TABLA1
id, nombre, codigo 1 - aa - 10
2 - bb - 12
3 - cc - 12
4 - dd - 13
5 - ee - 14
----------------------
TABLA2
codigo color
9 - negro
10 - rojo
11 - naranja
12 - amarillo
13 - verde
-------------------------- SELECT tabla1.codigo, tabla1.id, tabla2.color FROM tabla1, tabla2 WHERE tabla1.codigo=tabla2.codigo AND tabla2.color<>'negro' este sería el resultado sin DISTINCT ni GROUP BY
codigo id color
10 - 1 - rojo
12 - 2 - naranja
12 - 3 - naranja
13 - 4 - verde
Yo lo que quiero es que me devuelva solo un registro por codigo, es decir que el de codigo 12 no salga dos veces. La fila resultado no es igual (ya que el id es distinto aunque los otros campos lo sean iguales) por eso me choca tanto. Esta es mi consulta (he provado con los parentesis en (tabla1.codigo) y el GROUP BY tabla1.codigo y el resultado es el mismo) SELECT DISTINCT tabla1.codigo, tabla1.id, tabla2.color FROM tabla1, tabla2 WHERE tabla1.codigo=tabla2.codigo AND tabla2.color<>'negro'
y el resultado es el siguiente:
10 - 1 - rojo
13 - 4 - verde |