Zusätzlich 2 Datenbanken einbinden

ciberjoerg

Erfahrenes Mitglied
Folgendes script nutze ich um eine datenbank auszulesen,

PHP:
$abfrage = "SELECT
    fl.id AS fa_id,
    fl.an_id AS friend_id,
    fl.to_nick AS friend_nic
FROM
    flist AS fl
WHERE
    fl.status >= '2'
    AND
    fl.von_id = '{$user}'
UNION SELECT
    fl.id AS fa_id,
    fl.von_id AS friend_id,
    fl.von_nick AS friend_nic
FROM
    flist AS fl
WHERE
    fl.status >= '2' AND
    fl.an_id = '{$user}'
ORDER BY
friend_nic
";
Wie kann ich nun aber aus der Tabelle u_on anhand dem wert aus friend_id, die spalte last_act, und aus der Tabelle fa_pass0_data die spalte sex mit einbinden?

So das ich eine einfach auflistung aller benötigten daten aus der datenbank hab auslesen.
 
Hi,

wie wärs wenn du uns mal deine Tabellen mit den dazugehörigen Spaltennamen hier auflistes und wie sie miteinander verbunden sind (primary key,foreign key) !? Ich kann ja nicht wissen wie sie miteinander verknüpft sind.
 
im gunde ist schon fast alles gesagt.
aus der Tabelle u_on anhand dem wert aus friend_id, die spalte last_act, Primary Key ist id;
und aus der Tabelle fa_pass0_data die spalte sex mit einbinden Prymary key ist user_id;

friend_id giebt die user_id aus. die gleich der spalte id aus der tabelle u_on ist und gleich der spalte user_id der tabelle fa_pass0_data.
anhand dieser spalten kann ich alle Daten auslesen. nur mir gehts im grunde nur adrum wie ich das Schreiben soll, das eben alle daten in einer abfrage Ausgelesen werden.
 
Hallo,

erstens bitte die Netiquette einhalten. Du könntest doch bitte die Recht-/Groß-/Kleinschreibung einhalten. Dann lesen sich die Beiträge gleich viel besser.

Zweitens suchst du vermutlich nach JOIN.
 
Das hab ich auch schon versucht, doch werd daraus noch nicht so Schlau.
Da ich ja erst anfänger in sachen mySql bin, ist dasfür mich noch recht unübersichtlich und Undurchschaubar.
Wie müsste ich denn den Join befehl anwenden?
 
Hallo,

mit join verbindest du die 2 Tabellen.
Hier ist die ID aus der Tabelle Test gleich mit der ID aus Tabelle Test2

Nun kannst du dir alles aus den beiden Tabellen anzeigen lassen.
Hoffe es hilft dir ein bisschen.

HTML:
SELECT
t.ID,
t2.ID
FROM Test  t
JOIN Test2  t2 on t2.ID = t.ID
 
ganz einfach mehr als 1en join du kannst so viel Tabellen hinzufügen, wie du willst

HTML:
SELECT
t.ID,
t2.ID
FROM Test  t
JOIN Test2  t2 on t2.ID = t.ID
JOIN Test3  t3 on t3.ID = t2.ID
JOIN Test4  t4 on t4.ID = t3.ID
 
Abend nochmal ich hab nun mal an der Abfrage gearbeitet. Doch leider scheint das Script nicht zu funktionieren.

PHP:
$abfrage = "SELECT
    fl.id AS fa_id,
    fl.an_id AS friend_id,
    fl.to_nick AS friend_nic,
    uon.last_act AS activ,
    da.sex AS sex,
    da.agestamp AS alter
FROM
    flist AS fl 
    JOIN u_on AS uon ON uon.user_id = fl.an_id 
    JOIN fa_pass0_data AS da ON da.user_id = fl.an_id
WHERE
    fl.status >= '2'
    AND
    fl.von_id = '{$user}'
UNION SELECT
    fl.id AS fa_id,
    fl.von_id AS friend_id,
    fl.von_nick AS friend_nic,
    uon.last_act AS activ,
    da.sex AS sex,
    da.agestamp AS alter
FROM
    flist AS fl 
    JOIN u_on AS uon ON uon.user_id = fl.von_id 
    JOIN fa_pass0_data AS da ON da.user_id = fl.an_id
WHERE
    fl.status >= '2' AND
    fl.an_id = '{$user}'
ORDER BY
friend_nic, activ
";
Code:
You have an error in your SQL syntax; check the manual that corresponds  to your MySQL server version for the right syntax to use near 'alter FROM     flist AS fl  	JOIN u_on AS uon ON uon.user_id = fl.an_id  	JOIN f' at line 7

Leider weis ich nicht woran das Liegt.

u_on Index = user_id abfrage last_act und fa_pass0_data Index = user_id und abfragen sex und agestamp.
 
Zurück