ich habe folgende Tabellen
CREATE TABLE Personal(
Personal_nr int(12) NOT NULL,
Vorname varchar (20) NOT NULL,
Name varchar (25) NOT NULL,
Strasse varchar (30) NOT NULL,
PLZ int (5) unsigned zerofill NOT NULL,
Ort varchar (20 ) NOT NULL,
Geburt Date NOT NULL,
Geschlecht varchar (1) NOT NULL,
Gehalt int(8 ) NOT NULL
);
INSERT INTO `personal` VALUES (1002, 'Kai', 'Müller', 'Hallesche Str. 16', 04838, 'Eilenburg', '1951-12-28', 'm', 3400);
INSERT INTO `personal` VALUES (1005, 'Ede', 'Pfau', 'Nicolaiplatz 2', 04232, 'Leipzig', '1952-08-02', 'm', 4500);
INSERT INTO `personal` VALUES (1008, 'Eike', 'Taro', 'Bahnstr. 6', 60589, 'Frankfurt', '1947-08-12', 'm', 5100);
INSERT INTO `personal` VALUES (1100, 'Kerstin', 'Ganz', 'Hauptstr. 10', 04838, 'Eilenburg', '1961-03-19', 'w', 6000);
INSERT INTO `personal` VALUES (1101, 'Günter', 'Maus', 'Bergstr. 5', 06108, 'Halle/Saale', '1948-12-21', 'm', 4500);
INSERT INTO `personal` VALUES (1112, 'Hannes', 'Heik', 'Weimarer Str. 21', 60589, 'Frankfurt', '1961-02-06', 'm', 5600);
INSERT INTO `personal` VALUES (1113, 'Karsten', 'Müller', 'Wilhelm Str. 3', 60589, 'Frankfurt', '1963-06-24', 'm', 3400);
INSERT INTO `personal` VALUES (1114, 'Torsten', 'Mieder', 'Hauptstr. 16', 04838, 'Eilenburg', '1963-12-07', 'm', 5400);
INSERT INTO `personal` VALUES (1429, 'Christine', 'Schwarz', 'Tal Str. 56', 60589, 'Frankfurt', '1971-05-05', 'w', 5420);
INSERT INTO `personal` VALUES (1430, 'Birgit', 'Gense', 'Bauernkoppel 39', 22393, 'Hamburg', '1948-04-24', 'w', 1200);
INSERT INTO `personal` VALUES (1431, 'Bernd', 'Jach', 'Suelldorfer Str.', 22589, 'Hamburg', '1958-01-13', 'm', 2455);
INSERT INTO `personal` VALUES (1432, 'Silvia', 'Munter', 'Treppe 7', 22587, 'Hamburg', '1959-05-10', 'w', 4555);
INSERT INTO `personal` VALUES (1439, 'Karl', 'Seppa', 'Heimatring 7', 60589, 'Frankfurt', '1966-01-29', 'm', 3400);
create Table Teilnehmer (
Laufende_nr int(10) NOT NULL,
Personal_nr int(12) NOT NULL,
Besucht varchar (4)NOT NULL
);
INSERT INTO `teilnehmer` VALUES (1, 1002, 'Ja');
INSERT INTO `teilnehmer` VALUES (1, 1017, 'Ja');
INSERT INTO `teilnehmer` VALUES (1, 1101, 'Ja');
INSERT INTO `teilnehmer` VALUES (1, 1005, 'Ja');
INSERT INTO `teilnehmer` VALUES (2, 1114, 'Ja');
INSERT INTO `teilnehmer` VALUES (2, 1439, 'Ja');
CREATE TABLE Schulung(
Laufende_nr int (10) NOT NULL,
Schulungsbezeichnung varchar(32) NOT NULL,
Kursbeginn DATE NOT NULL,
Kursende DATE NOT NULL,
Kurskosten int(6) NOT NULL,
Veranstalter_nr int(10) NOT NULL
);
INSERT INTO `schulung` VALUES (1, 'ABA Schulung', '2006-03-14', '2005-03-15', 1600, 1);
INSERT INTO `schulung` VALUES (2, 'Loborschulung 2', '2005-04-14', '2005-04-16', 2000, 4);
INSERT INTO `schulung` VALUES (3, 'Teamtraining', '2005-04-07', '2005-04-08', 2100, 5);
INSERT INTO `schulung` VALUES (4, 'Grundkurs Excel', '2005-11-25', '2005-11-26', 1200, 2);
INSERT INTO `schulung` VALUES (5, 'Grundlagen Windows', '2005-12-13', '2005-12-13', 900, 3);
INSERT INTO `schulung` VALUES (6, 'Grundkurs Word', '2005-12-14', '2005-12-15', 1800,4);
INSERT INTO `schulung` VALUES (7, 'Grundkurs Powerpoint', '2006-01-04', '2006-01-04', 1200, 4);
INSERT INTO `schulung` VALUES (8, 'Projektmanagement', '2005-11-07', '2005-11-07', 1549, 5);
INSERT INTO `schulung` VALUES (9, 'Training Telefonmarketing', '2006-04-26', '2006-04-27', 2034, 5);
INSERT INTO `schulung` VALUES (10, 'Personalplanung in der Praxis', '2005-09-03', '2005-09-04', 1220, 7);
INSERT INTO `schulung` VALUES (11, 'Arbeitszeugnisse richtig formulieren und erfassen', '2005-09-18', '2005-09-19', 2440, 7);
wenn ich mir die Mitarbeiter anzeigen lassen will, die an einer Schulung teilgenommen haben, dann mache ich das so
SELECT Personal.*
FROM `Personal` , `Schulung` , `Teilnehmer`
WHERE Personal.Personal_nr = Teilnehmer.Personal_nr
AND Teilnehmer.Laufende_nr = Schulung.Laufende_nr
AND Teilnehmer.Besucht = 'Ja'
/*Oder so*/
SELECT *
FROM `Personal` INNER JOIN `Teilnehmer` ON Personal.Personal_nr = Teilnehmer.Personal_nr
WHERE Teilnehmer.Besucht = 'Ja'
Nun will ich aber alle Leute mir anzeigen lassen, die nicht an einer Schulung teilgenommen haben, aber irgendwi klappt das nicht. Wie soll ich das jetzt machen. ich habe schon mit ungleich( <> != ) rumprobiert, komme aber nicht weiter.
CREATE TABLE Personal(
Personal_nr int(12) NOT NULL,
Vorname varchar (20) NOT NULL,
Name varchar (25) NOT NULL,
Strasse varchar (30) NOT NULL,
PLZ int (5) unsigned zerofill NOT NULL,
Ort varchar (20 ) NOT NULL,
Geburt Date NOT NULL,
Geschlecht varchar (1) NOT NULL,
Gehalt int(8 ) NOT NULL
);
INSERT INTO `personal` VALUES (1002, 'Kai', 'Müller', 'Hallesche Str. 16', 04838, 'Eilenburg', '1951-12-28', 'm', 3400);
INSERT INTO `personal` VALUES (1005, 'Ede', 'Pfau', 'Nicolaiplatz 2', 04232, 'Leipzig', '1952-08-02', 'm', 4500);
INSERT INTO `personal` VALUES (1008, 'Eike', 'Taro', 'Bahnstr. 6', 60589, 'Frankfurt', '1947-08-12', 'm', 5100);
INSERT INTO `personal` VALUES (1100, 'Kerstin', 'Ganz', 'Hauptstr. 10', 04838, 'Eilenburg', '1961-03-19', 'w', 6000);
INSERT INTO `personal` VALUES (1101, 'Günter', 'Maus', 'Bergstr. 5', 06108, 'Halle/Saale', '1948-12-21', 'm', 4500);
INSERT INTO `personal` VALUES (1112, 'Hannes', 'Heik', 'Weimarer Str. 21', 60589, 'Frankfurt', '1961-02-06', 'm', 5600);
INSERT INTO `personal` VALUES (1113, 'Karsten', 'Müller', 'Wilhelm Str. 3', 60589, 'Frankfurt', '1963-06-24', 'm', 3400);
INSERT INTO `personal` VALUES (1114, 'Torsten', 'Mieder', 'Hauptstr. 16', 04838, 'Eilenburg', '1963-12-07', 'm', 5400);
INSERT INTO `personal` VALUES (1429, 'Christine', 'Schwarz', 'Tal Str. 56', 60589, 'Frankfurt', '1971-05-05', 'w', 5420);
INSERT INTO `personal` VALUES (1430, 'Birgit', 'Gense', 'Bauernkoppel 39', 22393, 'Hamburg', '1948-04-24', 'w', 1200);
INSERT INTO `personal` VALUES (1431, 'Bernd', 'Jach', 'Suelldorfer Str.', 22589, 'Hamburg', '1958-01-13', 'm', 2455);
INSERT INTO `personal` VALUES (1432, 'Silvia', 'Munter', 'Treppe 7', 22587, 'Hamburg', '1959-05-10', 'w', 4555);
INSERT INTO `personal` VALUES (1439, 'Karl', 'Seppa', 'Heimatring 7', 60589, 'Frankfurt', '1966-01-29', 'm', 3400);
create Table Teilnehmer (
Laufende_nr int(10) NOT NULL,
Personal_nr int(12) NOT NULL,
Besucht varchar (4)NOT NULL
);
INSERT INTO `teilnehmer` VALUES (1, 1002, 'Ja');
INSERT INTO `teilnehmer` VALUES (1, 1017, 'Ja');
INSERT INTO `teilnehmer` VALUES (1, 1101, 'Ja');
INSERT INTO `teilnehmer` VALUES (1, 1005, 'Ja');
INSERT INTO `teilnehmer` VALUES (2, 1114, 'Ja');
INSERT INTO `teilnehmer` VALUES (2, 1439, 'Ja');
CREATE TABLE Schulung(
Laufende_nr int (10) NOT NULL,
Schulungsbezeichnung varchar(32) NOT NULL,
Kursbeginn DATE NOT NULL,
Kursende DATE NOT NULL,
Kurskosten int(6) NOT NULL,
Veranstalter_nr int(10) NOT NULL
);
INSERT INTO `schulung` VALUES (1, 'ABA Schulung', '2006-03-14', '2005-03-15', 1600, 1);
INSERT INTO `schulung` VALUES (2, 'Loborschulung 2', '2005-04-14', '2005-04-16', 2000, 4);
INSERT INTO `schulung` VALUES (3, 'Teamtraining', '2005-04-07', '2005-04-08', 2100, 5);
INSERT INTO `schulung` VALUES (4, 'Grundkurs Excel', '2005-11-25', '2005-11-26', 1200, 2);
INSERT INTO `schulung` VALUES (5, 'Grundlagen Windows', '2005-12-13', '2005-12-13', 900, 3);
INSERT INTO `schulung` VALUES (6, 'Grundkurs Word', '2005-12-14', '2005-12-15', 1800,4);
INSERT INTO `schulung` VALUES (7, 'Grundkurs Powerpoint', '2006-01-04', '2006-01-04', 1200, 4);
INSERT INTO `schulung` VALUES (8, 'Projektmanagement', '2005-11-07', '2005-11-07', 1549, 5);
INSERT INTO `schulung` VALUES (9, 'Training Telefonmarketing', '2006-04-26', '2006-04-27', 2034, 5);
INSERT INTO `schulung` VALUES (10, 'Personalplanung in der Praxis', '2005-09-03', '2005-09-04', 1220, 7);
INSERT INTO `schulung` VALUES (11, 'Arbeitszeugnisse richtig formulieren und erfassen', '2005-09-18', '2005-09-19', 2440, 7);
wenn ich mir die Mitarbeiter anzeigen lassen will, die an einer Schulung teilgenommen haben, dann mache ich das so
SELECT Personal.*
FROM `Personal` , `Schulung` , `Teilnehmer`
WHERE Personal.Personal_nr = Teilnehmer.Personal_nr
AND Teilnehmer.Laufende_nr = Schulung.Laufende_nr
AND Teilnehmer.Besucht = 'Ja'
/*Oder so*/
SELECT *
FROM `Personal` INNER JOIN `Teilnehmer` ON Personal.Personal_nr = Teilnehmer.Personal_nr
WHERE Teilnehmer.Besucht = 'Ja'
Nun will ich aber alle Leute mir anzeigen lassen, die nicht an einer Schulung teilgenommen haben, aber irgendwi klappt das nicht. Wie soll ich das jetzt machen. ich habe schon mit ungleich( <> != ) rumprobiert, komme aber nicht weiter.