ich eine Datenbank von realem Zustand zum Verkauf zu schaffen habe. Problem ist die Art von Eigenschaften: wenn ich ein Haus habe, habe ich eine Art der Beschreibung, aber wenn es nur ein Land, nicht die Beschreibungen nicht benötigen Anzahl der Bäder zu schließen, nur den Bereich, Frontbereich usw.Mysql innere Verknüpfung mit mehreren Tabellen entsprechend einen Wert
Also habe ich eine Tabelle mit allgemeinen Daten über das Element (imoveis) mit Adresse, Preis etc .. als ich Kategorien von Elementen erstellt (imoveis_categs). Ich habe 5 Kategorien erstellt, für jede Kategorie gibt es eine Tabelle (z. B. imoveis_descr2) mit den spezifischen Merkmalen dieser Art.
Daten einzugeben, es ist einfach, aber meine Daten aufzulisten, ich werde durchführen müssen Abfrage wählen Sie die Elemente entsprechend mit einigen Filtern zu finden. In PHP wird es einfach zu lösen sein, aber ich wundere mich über die Leistung für eine große Menge von Daten und Benutzeranfragen. Besser es mit SQL-Befehlen lösen, dachte ich. Aber mySQL ist nicht mein Bereich, stelle ich mir anfangen, etwas zu ...
SELECT * FROM imoveis INNER JOIN imoveis_descr(imoveis.categ) ...
Die „maxi“ Bereich der imoveis Punkt auf der rechten Seite Beschreibungstabelle. Es ist möglich, so etwas zu tun? Gibt es einen anderen Weg, der angemessener oder effizienter ist?
EDIT: Ich versuchte, mit einem Beispiel zu klären ... EDIT2: Ich korrigierte das Beispiel, die Spalte "Räume" wird gleich sein. Die Felder sind nicht exklusiv, sowohl Apartment- als auch Hauskategorien haben eine Anzahl von Zimmern.
Table imoveis
id categ title price address ...
1 2 The House $ 1000000 Somestreet 77
2 1 An Appartment $ 500000 Somewhere 11
3 4 A Land $ 250000 Nowhere 33
Table imoveis_descr1
idImovel rooms area floor ...
2 2 70 5
Table imoveis_descr2
idImovel rooms fieldArea constrArea ...
1 3 120 80
Table imoveis_descr4
idImovel area width height ...
3 2640 22 120
Result
id categ title price address rooms fieldArea constrArea area floor area width height
1 2 The House $ 1000000 Somestreet 77 3 120 80 null null null null null
2 1 An Appartment $ 500000 Somewhere 11 2 null null 70 5 null null null
3 4 A Land $ 250000 Nowhere 33 null null null null null 2640 22 120
Update Ihre Frage eine richtige Datenprobe hinzufügen und das erwartete Ergebnis . – scaisEdge
Ich werde versuchen, aber es ist unregelmäßig und große Tische, nicht einfach Textbereich setzt in ... – Gustavo