php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.05.2009, 12:56  
Neuer Benutzer
 
Registriert seit: 03.06.2008
Beiträge: 22
Dynamite53 befindet sich auf einem aufstrebenden Ast
Standard JOIN und LEFT JOIN verbinden?

Hallo zusammen,

erste frage vorweg, kann man JOIN udn LEFT JOIN miteinander verbinden?
Ich hab zwei DB-Tabellen und verbinde beide mit LEFT JOIN. Das klappt auch soweit.
Nun möchte ich aber noch aus beiden Tabellen Daten ausgeben lassen, die nicht mit einander verbunden sind. Das klappt allerdings nicht so wirklich.
Hier mal meine Abfrage:

Code:
SELECT 
  heim.mannschaft AS name_heim, 
  aus.mannschaft AS name_aus, 
  liga_mannschaften.pkt AS pkt,
  liga_ergebnisse.id_heim, 
  liga_ergebnisse.id_aus, 
  liga_ergebnisse.heim_erg, 
  liga_ergebnisse.aus_erg 
FROM 
  liga_ergebnisse, liga_mannschaften 
LEFT JOIN 
  liga_mannschaften AS heim ON (heim.id = liga_ergebnisse.id_heim) 
LEFT JOIN 
  liga_mannschaften AS aus ON (aus.id = liga_ergebnisse.id_aus)
WHERE
  liga_ergebnisse.id_heim != '0' OR liga_ergebnisse.id_aus != '0'
Es erscheint allerdings immer die fehlermeldung "Unknown column 'liga_ergebnisse.id_heim' in 'on clause'"

Kann mir da einer evtl. weiterhelfen?

Vielen Dank schonmal.
Dynamite53 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.05.2009, 13:11  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Code:
liga_ergebnisse, liga_mannschaften 
LEFT JOIN 
  liga_mannschaften
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 15.05.2009, 13:17  
Neuer Benutzer
 
Registriert seit: 03.06.2008
Beiträge: 22
Dynamite53 befindet sich auf einem aufstrebenden Ast
Standard

sorry, damit kann ich nicht viel anfangen ... könntest du evt. noch eine kurze erklärung dazu abgeben?
Dynamite53 ist offline   Mit Zitat antworten
Alt 15.05.2009, 13:25  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Ich vermute mal, das Komma und JOIN nicht gleichzeitig benutzt werden können.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 15.05.2009, 13:27  
Neuer Benutzer
 
Registriert seit: 03.06.2008
Beiträge: 22
Dynamite53 befindet sich auf einem aufstrebenden Ast
Standard

Hmm hab ich mir auch schon fast gedacht ... aber wie bekomm ich dann die spalte "pkt" aus der tabelle "liga_mannschaften" heraus?
Dynamite53 ist offline   Mit Zitat antworten
Alt 15.05.2009, 13:59  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 4.651
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Code:
SELECT 
  heim.mannschaft AS name_heim, 
  aus.mannschaft AS name_aus, 
  liga_mannschaften.pkt AS pkt,
  liga_ergebnisse.id_heim, 
  liga_ergebnisse.id_aus, 
  liga_ergebnisse.heim_erg, 
  liga_ergebnisse.aus_erg 
FROM 
  liga_ergebnisse
INNER JOIN 
  liga_mannschaften ON (liga_ergebnisse.xxxx = liga_mannschaften.yyyy)
LEFT JOIN 
  liga_mannschaften AS heim ON (heim.id = liga_ergebnisse.id_heim) 
LEFT JOIN 
  liga_mannschaften AS aus ON (aus.id = liga_ergebnisse.id_aus)
WHERE
  liga_ergebnisse.id_heim != '0' OR liga_ergebnisse.id_aus != '0'
Davon abgesehen dass das etwas Rätselraten ist, da keiner dein Datenmodell kennt. Der Fehler deutet aber auch eher darauf hin, dass es die genannte Spalte wirklich nicht gibt.
mepeisen ist offline   Mit Zitat antworten
Alt 15.05.2009, 14:38  
Neuer Benutzer
 
Registriert seit: 03.06.2008
Beiträge: 22
Dynamite53 befindet sich auf einem aufstrebenden Ast
Standard

Danke, das mit dem INNER JOIN klappt ... nun hab ich nur noch das problem, dass es einmal die spalte "id_heim" und einmal die spalte "id_aus" gibt. Die tabelle "liga_mannschaften" will ich mit INNER JOIN aber mit beiden spalten verbinden, hat da noch jemand einen rat für mich?

Die struktur sieht übrigens so aus:

Tabelle liga_mannschaften:
id | mannschaft | pkt

Tabelle liga_ergebnisse:
id | spieltag | id_heim | id_aus | heim_erg | aus_erg

In "id_heim" sowie "id_aus" wird die mannschafts id gespeichert für die jeweilige heim- oder auswärtsmannschaft.
In "heim_erg" und "aus_erg" das jeweilige ergebnis.
Das alles wird dann für eine Ligatabelle gebraucht. Die spalte "pkt" hab ich nun nachträglich noch hinzugefügt. Es kommt immer mal wieder vor, dass eine Mannschaft einen Punktabzug erhält und diese punkte müssen dann ja in der ligatabelle auch abgezogen werden, daher die extra spalte.

Hoffe ist ein wenig verständlich...
Dynamite53 ist offline   Mit Zitat antworten
Alt 15.05.2009, 14:58  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Einfach zwei JOINS machen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 15.05.2009, 15:16  
Neuer Benutzer
 
Registriert seit: 03.06.2008
Beiträge: 22
Dynamite53 befindet sich auf einem aufstrebenden Ast
Standard

Ok danke ... hatte es versucht, nur ohne alias ... mit alias klappt nun alles wunderbar ... danke für eure hilfe!
Dynamite53 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Persistence Framework #Avedo Software-Design 37 28.03.2009 17:32
[Erledigt] mit einer CHECKBOX feld nach mehreren wörtern durchsuchen taurus Datenbanken 20 01.12.2008 10:49
Select / Left Join Performance mark007q Datenbanken 4 17.11.2008 15:14
[Erledigt] Left join und inner join stefanjann Datenbanken 7 16.10.2008 15:45
MySQL UNION ALL mit LEFT JOIN? familyman Datenbanken 4 09.10.2008 12:15
WHERE-Clause im Left Join cycap Datenbanken 2 06.11.2007 11:06
JOIN / LEFT JOIN und Co prinzli Datenbanken 12 05.11.2007 22:15
LEFT OUTER JOIN auf Nicht-Tabelle inu Datenbanken 15 29.03.2007 20:21
[solved] LEFT JOIN - #1066 - Not unique table/alias moose Datenbanken 6 12.12.2006 06:41
Problem mit Inner join Jabi Datenbanken 15 09.05.2006 14:10
Select Problem Datenbanken 17 16.01.2006 21:54
[Erledigt] LEFT JOIN Query Bildung Datenbanken 6 04.11.2005 15:24
[Erledigt] LEFT JOIN funtkioniert nicht richtig Datenbanken 3 19.10.2005 17:38
[Erledigt] LEFT JOIN Problem Datenbanken 11 21.03.2005 16:36
[Erledigt] left outer join mit bedingung Datenbanken 2 04.03.2005 00:52

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
2 mal left join verbinden, mehrere joins verbinden, left join verknüpfen, left join und inner join verbinden, left join verbinden, left join and join kombinieren, sql left join verketten, left join und join kombinieren, joins verknüpfen, inner join und left join verbinden, where und join, left join mehrere spalten zusammenfassen, left join mit from verbinden, left join inner join kombinieren, joins verbinden, left joins verknüpfen, left joins koppeln, mehrere left joins kombinieren, left join mit inner join verbinden, left join and where verbinden

Alle Zeitangaben in WEZ +1. Es ist jetzt 06:50 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum