problem left join
problem left join
hab ein kleines newssystem am laufen und nutze eine mysql datenbank.. in der 2 tabellen werkeln...
in der einen tabelle stehen die allgemeinen daten: id, datum, titel, text und autor... wobei der autor eine zahl zahl enthält die auf die andere tabelle verweist... in der anderen tabelle stehen die daten des autors...
wenn ich jetzt alle daten mittels "select * from table1" ausgebe, so steht bei autor eine zahl... es soll da aber der name aus der anderen tabelle ausgegeben werden...
über einen left join müßte doch möglich sein den name anstatt der zehl anzuzeigen...
bitte um hilfe
in der einen tabelle stehen die allgemeinen daten: id, datum, titel, text und autor... wobei der autor eine zahl zahl enthält die auf die andere tabelle verweist... in der anderen tabelle stehen die daten des autors...
wenn ich jetzt alle daten mittels "select * from table1" ausgebe, so steht bei autor eine zahl... es soll da aber der name aus der anderen tabelle ausgegeben werden...
über einen left join müßte doch möglich sein den name anstatt der zehl anzuzeigen...
bitte um hilfe
Code: Alles auswählen
SELECT *
FROM autoren
LEFT JOIN news ON news.autor = autoren.id
danke schonmal...
aber irgendwas passt bei mir nicht, dass liegt daran dass ich mich gestern schlecht ausgedrückt habe
nochmal paar sachen... tabelle1 = news ... tabelle2 = redakteure
in tabelle1 gibt es u.a. das feld autor wo die zahlen drin stehen 1,2,...
in tabelle2 gibt es u.a. das feld id und username.
tab1.autor ist also mit tab2.id verbunden.
dann gibt es in tab2 noch den username. diesen möchte ich mit den left join rausbekommen.
hoffe ich hab mich nun besser ausgedrückt.
mit folgendem befehl geht es nicht:
getestet mit:(liefert ja alle werte die der sql-befehl abgibt)
aber irgendwas passt bei mir nicht, dass liegt daran dass ich mich gestern schlecht ausgedrückt habe

nochmal paar sachen... tabelle1 = news ... tabelle2 = redakteure
in tabelle1 gibt es u.a. das feld autor wo die zahlen drin stehen 1,2,...
in tabelle2 gibt es u.a. das feld id und username.
tab1.autor ist also mit tab2.id verbunden.
dann gibt es in tab2 noch den username. diesen möchte ich mit den left join rausbekommen.
hoffe ich hab mich nun besser ausgedrückt.
mit folgendem befehl geht es nicht:
Code: Alles auswählen
SELECT *
FROM news
LEFT JOIN redakteure ON redakteure.id = news.autor
Code: Alles auswählen
while ($row = mysql_fetch_assoc($result)) {
echo "<br>";
foreach ($row as $key => $value) {
echo $key.".".$value. " ";
}
}
die;
-
- Mitglied
- Beiträge: 140
- Registriert: 10.05.2005 02:35
- Wohnort: Filderstadt
Code: Alles auswählen
$sql = "SELECT r.*, n.* FROM (news AS n LEFT JOIN redakteure AS r ON r.id=n.autor)";