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.
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'