Lo que dice Álbaro creo que es la solucion más elegante, si no queres hacer
la funcion podes hacer algo asi... creo que anda...:

SELECT socios.nombre, socios.dni, (select tarjetas.id_tienda from tarjetas
where tarjetas.id_tarjeta = tarjetas_socios.id_tarjeta order by id_tarjeta
limit 1)
 FROM socios, tarjetas_socios
 WHERE socios.id_socio = tarjetas_socios.id_socio
 GROUP BY socios.nombre, socios.dni

Saludos

2009/1/29 Javier Chávez B. <jchav...@gmail.com>

> Si haces un distinct sobre la vista o en la vista conseguiras lo que
> necesitas me entiendes???
>
> SELECT   distinct(socios.nombre),
> >>>                socios.dni,
> >>>                tarjetas.id_tienda
> >>>  FROM socios, tarjetas_socios, tarjetas
> >>>  WHERE socios.id_socio = tarjetas_socios.id_socio AND
> >>> tarjetas_socios.id_tarjeta = tarjetas.id_tarjeta
> >>>  GROUP BY socios.nombre, socios.dni;
>
> Eso te soluciona tu problema ... ahora no le veo sentido hacer una
> vista con tarjetas.id_tienda si no lo vas a usar me entiendes??? es
> mejor dejar la vista y despues hacer un select con la agrupacion sobre
> la vista .... me hago entender???
>
> Slds.
>
> J.
>
> Ps : Entiendo que el distinct sera mas eficiente que el Max verdad o
> estoy mal???
>
>
>
> --
> Cumprimentos
> jchavez
> linux User #397972 on http://counter.li.org/
>
> Laurence J. Peter  - "It's better to have loved and lost than to have
> to do forty pounds of laundry a week."
> --
> TIP 8: explain analyze es tu amigo
>

Responder a