2016-07-02 9 views
0

Ich habe ein System für die Ausstellung in der Website verwendet.Datenbank-Design: Wie Sie mehrere zu mehreren Tabelle abfragen

Die Ausstellungsdaten möglicherweise aus Multi-Daten in Differenz-Tabelle.

Wie dieser Entwurf: Table Design

  • Tabelle [ExhibitionType] für differenzierbare Kategorie verwendet.

  • Tabelle [ExhibitionBase] für Link zusätzlichen Sub-Typ Tabelle & Daten in verschiedenen Tabellen verwendet.

Meine Website verwenden MySQL und PHP

Nun Frage ich weiß nicht, wie es abzufragen. oder dieses Design hat einen Fehler.


EDIT 1:

Es tut mir leid ich nicht meine Absichten auszudrücken.

Beispiel: Ich hoffe, eine Datenliste abfragen. zuerst muß ich ExhibitionType Filter wie 1.

Also brauche ich eine SQL erstellen wie: SELECT * FROM ExhibitionBase WHERE ExhibitionTypeId = 1

Und zweiten Schritt i ExhibitionDataType und ExhibitionDataId jede Zeile Daten lesen. Und nach den verschiedenen Arten von ExhibitionData Daten aus in die ExhibitionBase Untertabellen zu verschmelzen.

WIE MAN SQL verwenden, fragen Sie es ab.

Das ist meine Frage.

+1

Es gibt viele Dinge, die Sie hier abfragen können. Können Sie bitte die Frage klären, indem Sie einige Beispieldaten und das Ergebnis, das Sie erhalten möchten, teilen? – Mureinik

+0

@Mureinik danke erinnern. – Alex

+0

Meinten Sie "egal"? Wenn ja, bitte lösche die Frage. –

Antwort

0
SELECT b.*, dt.Name, di.name 
    FROM ExhibitionBase AS b 
    JOIN ExhibitionDataType AS dt ON dt.id = b.ExhibitionDataType 
    JOIN ExhibitionDataId AS di ON di.id = b.ExhibitionDataId 
    WHERE ExhibitionTypeId = 1 

Stil Vorschläge:

  • Sie mit dem Datenbanknamen nicht Spalte und Tabellennamen voranstellen; es verstopft Dinge. ("Ausstellung")
  • Haben Sie keinen Spaltennamen, der mit dem Tabellennamen identisch ist.
+0

Vielen Dank für den Vorschlag. – Alex