Frage

CREATE TABLE college 
(  
  id       SERIAL PRIMARY KEY, 
  SCHOOL   VARCHAR(100),
  CColor   VARCHAR(100),  
  CCmascot VARCHAR(100)  
);

CREATE TABLE mats 
(  
  id                SERIAL PRIMARY KEY,  
  CColor            VARCHAR(100),  
  CCNAME            VARCHAR(100)  
);

MYSQL Ok, so ist hier das Problem, das ich denke, es ist ziemlich einfach, aber ich bin immer es ist nicht richtig. Ich habe den Namen die Schule über die URL zu mir vorbei und ich verwende den $ _GET nun die College-Namen erhalten ich fragen müssen:
Durch die Verwendung des Namen der Schule Ich brauche die CCOLOR und die CCNAME zu bekommen.

War es hilfreich?

Lösung

Sie haben den College-Namen und Sie möchten die Namen der Farbe, um herauszufinden, ob ich das richtig verstehen.

Das Verbindungsattribut ist CColor.

Sie Abfrage sollte ein wenig wie folgt aussehen:

select
    m.ccname, m.ccolor
from
    mats m
inner join
    college c
on
    c.ccolor = m.ccolor
where
    c.school = @myVariable

Andere Tipps

Ihre Frage ist nicht klar, so eine Antwort nur angenähert werden kann. Sie müssen Spalten in beiden Tabellen, die sie verbinden verwendet werden können, dh Spalten, die Werte haben, die verwendet werden können, zu identifizieren, wenn ein Datensatz / s in der Elterntabelle (Hochschule) entspricht einen Datensatz / s in der untergeordneten Tabelle (Matten) . Im Idealfall würden Sie einen Fremdschlüssel in den Kindertisch Karten haben, die college_id genannt werden (dies verwendet eine Namenskonvention, die die übergeordnete Tabelle verweist).

Geben einen Fremdschlüssel wie die oben genannten Abfrage würde

select
  college.ccolor
from
  college inner join mats
    on college.id = mats.college_id
where
  mats.ccname = "<<COLOUR_DESIRED>>";

unter der Annahme ccname der Name ccolor ist.

Datenbank Tipp des Tages: Verwenden Foreign Key Constraints , oder Sie werden Daten Korruption Probleme haben, und die Menschen auf SO wird keine Ahnung haben, wie die einzelnen Spalten miteinander in Beziehung stehen.

Wenn Sie die whys und die whatfors von relationaler Modellierung kennen, könnte man es für notwendig, ohne sie zu gehen (obwohl es nicht empfohlen wird, wenn Sie einen wirklich guten Grund haben), aber für jetzt, nutzt sie explizit definieren, wie die Tabellen zueinander in Beziehung stehen.

Ansonsten Ihre Frage ist ein bisschen wie ein Koch zu fragen: „Ich habe einige unmarkierten Gläser von Lebensmitteln und was ich denke, ist Oregano. Wie kann ich ein romantisches Abendessen für zwei Personen kochen?“ (Umm .. was ist in den Gläsern ??)

Fremdschlüssel doumentation: http: / /dev.mysql.com/doc/refman/5.1/en/ansi-diff-foreign-keys.html

Join Dokumentation: http://dev.mysql.com/ doc / refman / 5.1 / de / join.html

SELECT college.CColor FROM college
    INNER JOIN mats ON college.CColor = mats.CColor 
    AND mats.CColor = 'your query'
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top