2 Tabellen id's vergleichen

morgenstern

Erfahrenes Mitglied
Hi.

Also ich habe 2 Tabellen.

Erste: (tabelle_1)

__________
fileid | name
-----------------
1 | NICK
__________

Zweite: (tabelle_2)

__________
catid | fileid
-----------------
1 | 1
__________


Jetzt möchte ich mit Hilfe der Zweiten Tabelle herausfinden, welchen Namen zu der fileid 1 passt.

D.h.: Ich mache ein query der tabelle_2 und bekomme dadurch den Wert für fileid.(fileid == 1)
Nun kommt ein Query der tabelle_1, dort befindet sich bereits eine fileid mit dem Wert 1 , diese hat aber auch ein Feld (Name) in diesem befindet sich der Wert NICK.

Wie kann ich nun beide Werte ausgeben, damit sie zueinanderpassen.

Fileid=1 Der Name ist: Nick

Ich hoffe ich habe nicht zu wirres Zeug von mir gegeben.
 
Vesuch's mal mit:
Code:
SELECT
         tabelle_1.fileid,
         tabelle_1.Name
  FROM
        `tabelle_1`,
        `tabelle_2`
  WHERE
        tabelle_1.fileid = tabelle_2.fileid
  ORDER BY
        tabelle_1.fileid
  LIMIT
        0, 30
Desweiteren solltest du dir mal die JOIN-Syntax des SELECT-Ausdrucks ansehen:
 › 7.4.1.1 JOIN-Syntax
 
Geht das bei dieser Syntax auch, das eine gefundene ID nur 1x angezeigt wird und nicht z. B. 5x wenn 5 Datensätze die selbe ID haben?

Mit DISTINCT nach SELECT hab ich's schon ausprobiert - hat aber nicht geklappt.
 
@ supercat1510

Ich weiß nicht, ob ich dich recht verstanden hab :) wenn du nur einen Tupel ausgeben möchtest, musst du einfach am Ende der Selectanweisung ein LIMIT 1 setzen :)

gruß kon

hab ich dich richtig verstanden ? :)
 
Nein - ich erklär's mal genauer

Ich habe zwei Tabellen
Einmal die Kategorie
und einmal Liedtext

in der Liedtexte speichere ich die Kategorie_id

Ich lese bisher in zwei Select-Anweisungen erst die ID aus der Liedtexte , und dann die ID aus der Kategorie - funktioniert auch ganz gut, nur er sortiert sie mir dann nach ID obwohl er nach Titeln sortieren soll.

Heute hab ich dann dieses Script ausprobiert, was super funktioniert (und so sortiert wie ich will) aber er zeigt mir die Kategorienamen sooft an wie Texte darin sind.
 
Also da zwischen, wenn ich mich nicht irre, Liedtext und Kategorie einen 1 zu 1 Beziehung besteht, würde ich es am besten per Inner-Join Abfrage auslesen !

PHP:
SELECT Liedtext, Kategorie_NAME From Lieder LEFT JOIN Kategorien ON Kategorie.Kategorie_id=Lieder.Lied_id

so müsste es gehen :)

gruß kon
 
dann muss noch zwischen dem where Teil und dem Order Teil deiner SQL
Abfrage ein Group by tabelle_1.fileid

also
WHERE tabelle_1.fileid = tabelle_2.fileid Group by tabelle_1.fileid ORDER BY tabelle_1.fileid
 
Zurück