php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.10.2008, 16:17  
Neuer Benutzer
 
Registriert seit: 17.10.2008
Beiträge: 5
tobi.k befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Mit 2 Fremdschlüsseln auf dasselbe Tabellenfeld verweisen

Hallo

Ich möchte mit 2 verschiedenen Fremdschlüsseln auf das gleiche Tabellenfeld verweisen. Wie mache ich das genau mit dem JOIN-Befehl?
Anbei ein Beispiel, dass es verständlich ist.

Tabelle Player: uid, Name, Vorname
Tabelle Team: uid, pid_player1, pid_player2
Wobei die Felder pid_player1/pid_player2 die Fremdschlüssel auf die uid der Tabelle "player" sind.

Gewünschte Ausgabe:
TEAM 1:
Vorname Spieler 1 Nachname Spieler 1 Vorname Spieler 2 Nachname Spieler 2
Stefan Müller Thomas Koller


Vielen Dank für Eure schnelle Hilfe

Grüsse

Tobi.k
tobi.k ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 17.10.2008, 16:28  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Hallo und willkommen,

was hindert dich an
Code:
SELECT … FROM …
LEFT JOIN … ON …
LEFT JOIN … ON…
WHERE …
?
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 17.10.2008, 16:50  
Neuer Benutzer
 
Registriert seit: 17.10.2008
Beiträge: 5
tobi.k befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für die schnelle Antwort!

Das funzt soweit, wenn ich SELECT * FROM... verwende.

Meine Tabelle besteht nicht nur aus name und vorname, sondern hat noch viele andere Felder, die ich nicht ausgeben möchte. meine Abfrage sieht nun so aus:

SELECT member_name, member_surname FROM badminton_team t
LEFT JOIN badminton_member m1 ON t.pid_player1 = m1.uid
LEFT JOIN badminton_member m2 ON t.pid_player2 = m2.uid

Ich bekomme aber nun folgenden Fehler:
#1052 - Column 'member_name' in field list is ambiguous

Geht das überhaupt?

Danke im Voraus!

Gruss
Tobi.k
tobi.k ist offline   Mit Zitat antworten
Alt 17.10.2008, 16:52  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Dann musst du einen Aliasnamen verwenden.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 17.10.2008, 16:54  
Neuer Benutzer
 
Registriert seit: 17.10.2008
Beiträge: 5
tobi.k befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Manko10 Beitrag anzeigen
Dann musst du einen Aliasnamen verwenden.
Habe ich leider auch schon versucht... Aber evtl. ja falsch gemacht... könntest du mir nicht ein Beispiel geben?

Wär super!
tobi.k ist offline   Mit Zitat antworten
Alt 17.10.2008, 17:04  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Wenn du mir den Code postest, mit dem du es versucht hast…
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 20.10.2008, 11:53  
Neuer Benutzer
 
Registriert seit: 17.10.2008
Beiträge: 5
tobi.k befindet sich auf einem aufstrebenden Ast
Standard

Hier nochmals meine SQL-Abfrage

Zitat:
Zitat von tobi.k Beitrag anzeigen

SELECT member_name, member_surname FROM badminton_team t
LEFT JOIN badminton_member m1 ON t.pid_player1 = m1.uid
LEFT JOIN badminton_member m2 ON t.pid_player2 = m2.uid

Ich bekomme aber nun folgenden Fehler:
#1052 - Column 'member_name' in field list is ambiguous
Meine Datenbank ist wie folgt aufgebaut:

badminton_member
uid int(11) AUTO_INCREMENT
member_surname varchar(30) latin1_general_ci
member_phone varchar(15) latin1_general_ci
member_visitor tinyint(1) Ja 0
member_description varchar(100) latin1_general_ci
member_created timestamp Nein 0000-00-00 00:00:00
member_changed timestamp Nein 0000-00-00 00:00:00

badminton_team
uid int(11) AUTO_INCREMENT
pid_player1 int(11) UNSIGNED Nein 0
pid_player2 int(11) UNSIGNED Nein 0
pid_category int(11) UNSIGNED Nein 0
team_number int(50) Nein 0
team_privateLink varchar(100) latin1_general_cs Nein
team_description varchar(100) latin1_general_ci Ja NULL
team_created timestamp Nein 0000-00-00 00:00:00
team_changed timestamp Nein 0000-00-00 00:00:00

Ich hoffe, du kannst mit diesen Infos etwas anfangen...

Danke!

Geändert von tobi.k (20.10.2008 um 11:56 Uhr).
tobi.k ist offline   Mit Zitat antworten
Alt 21.10.2008, 15:35  
Neuer Benutzer
 
Registriert seit: 17.10.2008
Beiträge: 5
tobi.k befindet sich auf einem aufstrebenden Ast
Standard

hab mir jetzt selber geholfen, es ging mit mehreren Joins hintereinander. Trotzdem danke für die etwas spärliche Hilfe...

Gruss
tobi.k ist offline   Mit Zitat antworten
Alt 21.10.2008, 16:46  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Und wie bitte würdest Du #2 anders interpretieren?
__________________
--
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
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
Einzug bei einem Tabellenfeld Mirod HTML, Usability und Barrierefreiheit 3 22.02.2007 22:46

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mehrere fremdschlüssel in einer tabelle, zwei fremdschlüssel, zwei fremdschlüssel gleiche tabelle, sql mehrere fremdschlüssel, mehrere fremdschlüssel, zwei fremdschlüssel in einer tabelle, in field list is ambiguous, column \'uid\' in field list is ambiguous, sql zwei fremdschlüssel, join 2 fremdschlüssel, mehrere fremdschlüssel auf eine tabelle, tabelle mit mehreren fremdschlüsseln, 2 gleiche fremdschlüssel, 2 fremdschlüssel in einer tabelle, sql 2 fremdschlüssel auf eine tabelle, fremdschlüssel verschiedene tabellen, sql abfrage mit 2 fremdschlüsseln, sql join zwei fremdschlüssel, sql fremdschlüssel zu gleicher tabelle, sql 2 fremdschlüssel in einer tabelle

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:48 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