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 >