2009-05-04 10 views
0
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, hier ist das Problem, ich denke, es ist ziemlich einfach, aber ich bekomme es nicht richtig. Ich habe den SCHOOL-Namen über die URL an mich übergeben, und ich benutze $ _GET, um den College-Namen zu erhalten, den ich nun abfragen muss:
Mit dem SCHOOL-Namen muss ich den CCOLOR und den CCNAME bekommen.Innenverbindung Frage

+0

Sind CCNAME und CColor gleich? –

Antwort

0

Sie haben den College-Namen und Sie möchten den Farbnamen herausfinden, wenn ich das richtig verstehe.

Das Verknüpfungsattribut 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 
0
SELECT college.CColor FROM college 
    INNER JOIN mats ON college.CColor = mats.CColor 
    AND mats.CColor = 'your query' 
1

Ihre Frage ist unklar, so kann eine Antwort nur angenähert werden. Sie benötigen Spalten in beiden Tabellen, die verwendet werden können, um sie zu verbinden. Das sind Spalten mit Werten, die verwendet werden können, wenn ein Datensatz in der übergeordneten Tabelle (Hochschule) mit einem Datensatz in der untergeordneten Tabelle übereinstimmt (Matten)). Im Idealfall würden Sie einen Fremdschlüssel in den untergeordneten Tabellenzuordnungen haben, der college_id genannt werden könnte (dies verwendet eine Namenskonvention, die auf die übergeordnete Tabelle verweist).

wie die ein Fremdschlüssel geben über Ihre Anfrage erwähnt

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

vorausgesetzt ccname werden würde, ist der Name ccolor.

0

Datenbank Tipp des Tages: Verwendung Foreign Key Constraints, oder Sie werden Daten Korruption Probleme haben, und die Menschen auf SO wird keine Ahnung haben, wie Ihre Spalten zueinander stehen. Wenn Sie wissen, was und wie die relationale Modellierung ist, müssen Sie vielleicht auf sie verzichten (obwohl es nicht empfohlen wird, es sei denn, Sie haben einen wirklich guten Grund), aber jetzt verwenden Sie sie, um explizit zu definieren, wie Tabellen beziehen sich aufeinander.

Ansonsten ist Ihre Frage so, als würde man einen Koch fragen: "Ich habe ein paar unbeschriftete Gläser mit Essen und was ich für Oregano halte. Wie koche ich ein romantisches Abendessen für zwei?" (Umm .. was ist in den Gläsern ??)

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

Dokumentation Registriert: http://dev.mysql.com/doc/refman/5.1/en/join.html