php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.07.2004, 10:48  
Erfahrener Benutzer
 
Registriert seit: 30.07.2004
Beiträge: 255
Stümper
Standard Fehler 1066: Not unique table/alias: 'person'

Hallo zusammen,

ich bin absoluter PHP und MySql - Neuling und probiere ein bisschen aus. Meine Abfrage auf eine Datenbank, die aus nur einer Tabelle besteht, funktioniert tadellos. Jetzt habe ich eine zweite tabelle erstellt und möchte ein Abfrage ausführen, die die beiden verknüpft: mit LEFT JOIN.

Ich bekomme eine Fehlermedlung zurück, obwohl das Verbundattribut in der abhängigen Tabelle Primärschlüssel und damit eindeutig ist. Es geht ja um eine 1:n Beziehung.

"SELECT buy.ID, buy.Article, buy.Number, buy.ClientID, person.Name FROM buy, person LEFT JOIN person ON buy.ClientID = person.ID"

Also ID ist in person Primärschlüssel, kann also nur einmal vorkommen. buy.ClientID ist Fremdschlüssel und darf mehrmals vorkommen. Warum also die Fehlermeldung Fehler 1066: Not unique table/alias: 'person'?

Danke
Stümper ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 30.07.2004, 10:49  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

FROM buy, person LEFT JOIN person

Zähl mal das vorkommen von `person` ....
Guradia ist offline   Mit Zitat antworten
Alt 30.07.2004, 10:56  
Erfahrener Benutzer
 
Registriert seit: 30.07.2004
Beiträge: 255
Stümper
Standard

Besten Dank für die prompte Antwort. Jetzt funktioniert es.

Aber vielleicht noch eine dumme Frage: ich muss ja mit FROM angeben, aus welcher Tabelle ausgelsen werden soll. Also in meinem Fall aus buy. Es soll aber auch das Feld Name aus person ausgegebn werden.

Wäre es deshalb nicht logisch, bei FROM auch person anzugeben?

Oder geht es hier darum, dass person.Name nur in Abhängigkeit von buy.ClientID ausgegeben wird, also nur Teile von person angezeigt werden, während von buy alles ausgegeben wird?
Stümper ist offline   Mit Zitat antworten
Alt 30.07.2004, 11:26  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Stümper
Wäre es deshalb nicht logisch, bei FROM auch person anzugeben?
Doch sicher .. aber dafür gibst du es ja per LEFT JOIN hinzu ...
Guradia ist offline   Mit Zitat antworten
Alt 30.07.2004, 12:02  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 146
Hakima befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Stümper
Oder geht es hier darum, dass person.Name nur in Abhängigkeit von buy.ClientID ausgegeben wird, also nur Teile von person angezeigt werden, während von buy alles ausgegeben wird?
Wenn du
Zitat:
buy.ClientID = person.ID
auf diese Art und Weise beide Felder jeweils unterschiedlicher Tabellen gleichsetzt, dann sucht er sich das raus, was gleich ist. Ungleiche Datensätze werden ja unberücksichtigt gelassen und nicht ausgegeben.
Alles was in Tabelle buy steht im Feld ClientID und nicht gleich mit dem Feld person.ID von der Tabelle person ist, wird also nicht ausgegeben.

Möchtest du alles von Tabelle buy, Feld ClientID ausgeben, so benötigst du keinen Left join. Wenn du dir zusätzlich anzeigen lassen möchtest, wie oft der gleiche Name in dem Feld ClientID vorkommt, müßtest du mit group by arbeiten... :wink:
Hakima 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
[solved] LEFT JOIN - #1066 - Not unique table/alias moose Datenbanken 6 12.12.2006 06:41
2 verschachtelte while Schleifen. Großes Performanceproblem Datenbanken 3 30.05.2005 12:52
Fehlermeldung - aber kein fehler... Tschuu HTML, Usability und Barrierefreiheit 16 14.03.2005 15:56
[Erledigt] mysql fehler PHP Tipps 2004 2 03.11.2004 00:32
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
not unique table/alias:, mysql fehler 1066, mysql not unique table/alias, #1066 - not unique table/alias, not unique table/alias, mysql error 1066, not unique table, sql #1066, fehler 1066, error 1066, #1066 - not unique table/alias:, sql error 1066, mysql fehler #1066, mysql not unique table alias, sql not unique table alias, fehler php not unique table/alias:, error 1066: not unique table/alias:, fehlermeldung was not unique, mysql not unique table/alias:, #1066 - not unique table

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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.