Marc_Gro Geschrieben 7. November 2002 Teilen Geschrieben 7. November 2002 Moin, wir haben in der Schule eine Kleine Testdatenbank mit SQL aufgebaut und jetzt einige Aufgaben dazu bekommen. Da ich selber nicht viel Ahnung von SQL habe, sonder nur mal mit ACCESS gearbeitet habe, eine kleine Frage. Aufbau der Datei: create database mitarbeiter; use mitarbeiter; create table personal (personalnummer smallint unsigned not null, name varchar(50) not null, vname varchar(25), durchwahl smallint unsigned, abteilung tinyint unsigned, primary key (personalnummer)); create table abteilung (abteilungsnummer tinyint unsigned not null auto_increment, abteilungsname varchar(50) not null, primary key (abteilungsnummer)); create table projekte (projektnummer smallint unsigned not null auto_increment, projektname varchar(50) not null, projektleiter smallint unsigned, primary key (projektnummer)); create table rel_projekte (personalnummer smallint unsigned not null, projektnummer smallint unsigned not null, primary key (personalnummer , projektnummer)); So, das war noch verständlich und einige Selectabfragen haben wir auch durchgeführt. Mit Select........where......like haben wir schon rungespielt. Nun zum eigendlichen Problem: Erstellen Sie eine Abfrage mit allen Projektmitarbeitern des Projektes 3. Ich habe es mit folgenden Syntax versucht: selecte name,vname,projektnummer from rel_projekte where projektnummer = '3' and personalnummer=personalnummer; da aber personalnummer in rel_projekte und personal gleich heissen, gibt mir SQL eine Fehlermeldung: ERROR 1052:Colume: 'personalnummer' in where clause is ambigous Danke schon einmal im vorraus für eure Hilfe. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 7. November 2002 Teilen Geschrieben 7. November 2002 Ok, der Fehler ist eigentlich ganz einfach behoben. Du willst Informationen aus mehreren Tabellen, also musst Du auf die Schlüssel überprüfen. Ein kleines Beispiel: Tabelle person: key int, name varchar(50), vorname varchar(50), idAdresse int Tabelle adresse: key int, strasse varchar(50), plz varchar(5), ort varchar(50) Wenn Du eine Person und einen Ort haben willst: SELECT a.name, b.ort FROM person a, adresse b WHERE a.idAdresse = b.key AND a.name = "Nasenbaer"; Dann hast Du in zwei Tabellen gesucht, der Schlüssel war hierbei die Adressen-ID. Wenn Du noch Fragen hast, frag. Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Marc_Gro Geschrieben 7. November 2002 Autor Teilen Geschrieben 7. November 2002 habe nicht gewusst und auch nicht in meinen Unterlagen gefunden, dass man tabell.feld auswählen kann. also nochmals DANKE:) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 7. November 2002 Teilen Geschrieben 7. November 2002 Kein Problem. Ganz gut sind immer die Beispiele in der MySQL-Doku. Da kann man sich einiges abschauen. Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.