Zum Inhalt springen

MySQL Probleme mit Select-Abfrage


Marc_Gro

Empfohlene Beiträge

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...