Vamos a ver.
Como veo que el post da más de si de lo que pensaba os comento la situación entera (a ver si asi ayudo en algo a un_tio y damos más respuestas).
En la BD tengo una tabla "propietarios" y las tres tablas que puse en el primer post: "pisos", "aticos" y "chalets".
Estas tablas entre otros campos tienen los siguientes comunes:
- "id_piso", "id_atico", "id_chalet" --> en funcion de que tabla sea
- "codigo" --> es una cadena formada por "letra"-"id". Es decir, cuando guardo un piso meto en el campo "codigo" la letra "p"+"-"+"id_piso". Ejemplos: codigo= "p-130" ó "a-50" ó "c-122"...
Asi si quiero puedo buscar directamente un inmueble a través de su codigo independientemente de si es un piso, chalet o ático, ya que me creo un formulario en el que el usuario introduce el codigo y en php separo la cadena y se en que tabla he de buscar (p-130 he de buscar en la tabla pisos el id_piso=130)
Para poder llevar un control de los inmuebles que tiene cada propietario en vez de meter un campo mas en cada tabla con el "id_propietario" decidí crear una tabla intermedia llamada posesiones, con los siguientes campos:
id_posesion
id_propietario
cod_inmueble
Así si quiero ver que inmuebes tiene un propietario no he de buscar en las tres tablas (pisos, aticos y chalets), basta con buscar en esta.
Bien, esta es mi propuesta de diseño. No se si es correcto, pero es la forma mas optima que se me ha ocurrido (si ha alguien se le ocurre otra estoy abierto a todas las posibilidades).
Espero que esta idea le valga a un_tio.
El problema de este diseño es el siguiente.
Si alguien quiere buscar cualquier inmueble (piso, chalet o atico) por un criterio especifico (precio, localidad...) deberia hacer una consulta a cada tabla. Hasta aqui no hay problema.
El problema es que si quiero paginar estos resultados.
Hasta ahora usaba el fantastico script PAGINATOR de jpinedo para paginar, pero como para conseguir los resultados de esta busqueda he de hacer 3 SELECT, el PAGINATOR no me sirve.
De ahí que preguntase en mi primer post si se puede hacer un SELECT a tres tablas no relacionadas, a lo que el amigo yeti respondio rapidamente que no (gracias por destrozar mi moral
)
Ahora mismo voy a escribir a jpinedo (se ha ofrecido a ayudarme en su pagina) a ver que me dice de usar PAGINATOR con 3 SELECT.
Cuando tenga una respuesta suya os lo comento.
Si alguien cree que puede aportar algo mientras tanto bienvenido sea.
Bueno gente, esto es todo por ahora.
Gracias por seguir este ladrillo de post hasta el final.