Bueno, espero poder expresarme de la forma mas correcta posible para que me entiendan...
Supongamos, para hacer mas simple la explicacion, que tenemos 3 tablas:
tbl_miembros
tbl_relacion
tbl_busca
En tbl_miembros guardo diferentes datos acerca de los usuarios. Dos de esos datos son el tipo de ralacion que buscan y el sexo que buscan.
Ahora bien, en tbl_relacion hay varios tipos de relacion, y en tbl_busca hay varias opciones de sexo a elegir (por ej. mujer, hombre, pareja, etc.)
En la tbl_miembros tengo dos campos relacion y busca. Los dos son del tipo SET para poder guardar varios tipos de opciones de sus tablas correspondientes (los id de tbl_relacion y tbl_busca son potencia de 2).
Hasta aca esta todo perfecto, pero la complicacion aparece cuando quiero rescatar todos los datos del usuario. A la hora de saber la relacion y lo que buscan, no me sirve ver los ids, sino los nombres de ambos.
Una consulta podria ser:
SELECT tbl_relacion.relacion,tbl_busca.busca FROM tbl_relacion,tbl_busca,tbl_miembro WHERE tbl_miembro=1 AND
tbl_miembro.relacion&tbl_relacion.id AND tbl_miembro.busca&tbl_busca.id
Si el usuario tiene elegida una sola relacion y un solo sexo de busqueda, el resultado de este query seria de 1 sola fila. Pero que pasa cuando el usuario elige varias relaciones y varios sexos de busqueda? Aca la cantidad de filas resultantes es igual a cant.relacionesXcant.sexos
Y ese es el problema, tengo demasiados resultados, mas de los que quisiera. Si bien tengo los que necesito, me sobran muchos.
Un descenlace posible del anterior query podria ser:
RELACION - SEXO
amistad - hombre
amistad - mujer
casamiento -hombre
casamiento - mujer
Lo que me gustaria saber es si existe alguna forma de traer estos resultados en un orden que me sirva para poder implementar un LIMIT y descartar los demas resultados (es lo que se me ocurre, no se). Algo como recuperar las filas intercaladas de esta forma:
amistad - hombre
casamiento - mujer
amistad - mujer
casamiento - hombre
Cosa de que haga un LIMIT 2 y encuentre TODOS los datos que buscaba.
La verdad, ni yo creo que se pueda hacer algo por el estilo, pero igualmente se los queria consultar. Talvez haya otra solucion que ni se me ocurre. O talvez no y me tenga que conformar con traerme todas las filas, que a veces pueden llegar a ser mas de 30 para un mismo usuario.
Ustedes me diran (espero)
Gracias.