hey ho leutz,
ich bekomme den 3er-join der in der letzten zeile steht nicht richtig hin, kann mir jemand bitte helfen?
es gibt keine vorgaben, es muss nur einfach irgendwie gemacht werden.
/*
drop table Foerderprogrammteilnahme;
drop table Krankheitsfaelle;
drop table ArtFoerderprogramme;
drop table Krankheiten;
drop table Kinder;
*/
create table Kinder (KID number(10) not null, KName varchar2(20) not
null, KVorname varchar2(20) not null, Strasse varchar2(50), PLZ
number(5), Ort varchar2(20), Eintrittsdatum date,
Austrittsdatum date, isGeschwisterkind number(1), primary key(KID));
create table Krankheiten(KrID number(10) not null, Bezeichnung
varchar2(20), Behandlung varchar2(20),
primary key (KrID));
create table Krankheitsfaelle(KrID number(10) not null, KID number(10)
not null, primary key(KrID, KID),
foreign key(KrID) references Krankheiten, foreign key(KID) references Kinder);
create table ArtFoerderprogramme(FID number(10) not null, Bezeichnung
varchar2(50), Anfangsdatum date, Enddatum date,
primary key(FID));
create table Foerderprogrammteilnahme(FID number(10) not null, KID
number(10) not null, primary key(FID, KID),
foreign key(FID) references ArtFoerderprogramme, foreign key(KID)
references Kinder);
insert into Kinder values (1, 'Mustermann', 'Maxo', 'Musterweg 1',
11111, 'Musterstadt', '01-jan-2000', '20-jan-2003', 1);
insert into Kinder values (2, 'Musterfrau', 'Maxim', 'Musterstrasse
2', 11411, 'Musterhausen', '01-jan-2001', '20-jun-2004', 0);
insert into Kinder values (3, 'Muster', 'Andrea', 'Muster 12', 11211,
'Musterdorf', '01-jul-2000', '20-jan-2003', 0);
insert into Krankheiten values (1, 'Kopfschmerzen', 'Aspirin geben');
insert into Krankheiten values (2, 'Gliederschmerzen', 'Paracetamol geben');
insert into Krankheiten values (3, 'Husten', 'Bronchikum geben');
insert into ArtFoerderprogramme values (1, 'Sprachfoerderung',
'01-feb-2003', '01-nov-2003');
insert into ArtFoerderprogramme values (2, 'Feinmotorik',
'01-feb-2003', '01-nov-2003');
insert into ArtFoerderprogramme values (3, 'ADS', '01-apr-2003', '01-nov-2003');
insert into Foerderprogrammteilnahme values (1, 1);
insert into Foerderprogrammteilnahme values (1, 2);
insert into Foerderprogrammteilnahme values (3, 1);
insert into Krankheitsfaelle values (1, 1);
insert into Krankheitsfaelle values (2, 2);
insert into Krankheitsfaelle values (3, 3);
Select * from Kinder where isGeschwisterkind = 1;
Select * from Krankheiten where Behandlung like '%geben';
update Kinder set isGeschwisterkind = 0 where KID = 1;
update Krankheiten set Behandlung = 'Bier geben' where KrID = 1;
Select K.KID, F.FID from Kinder K, ArtFoerderprogramme F where K.KID = F.FID;
Select K.KID, F.FID from Kinder K, ArtFoerderprogramme F, Foerderprogrammteilnahme E where K.KID = F.FID; <------- bisherige lösung
ich bekomme den 3er-join der in der letzten zeile steht nicht richtig hin, kann mir jemand bitte helfen?
es gibt keine vorgaben, es muss nur einfach irgendwie gemacht werden.
/*
drop table Foerderprogrammteilnahme;
drop table Krankheitsfaelle;
drop table ArtFoerderprogramme;
drop table Krankheiten;
drop table Kinder;
*/
create table Kinder (KID number(10) not null, KName varchar2(20) not
null, KVorname varchar2(20) not null, Strasse varchar2(50), PLZ
number(5), Ort varchar2(20), Eintrittsdatum date,
Austrittsdatum date, isGeschwisterkind number(1), primary key(KID));
create table Krankheiten(KrID number(10) not null, Bezeichnung
varchar2(20), Behandlung varchar2(20),
primary key (KrID));
create table Krankheitsfaelle(KrID number(10) not null, KID number(10)
not null, primary key(KrID, KID),
foreign key(KrID) references Krankheiten, foreign key(KID) references Kinder);
create table ArtFoerderprogramme(FID number(10) not null, Bezeichnung
varchar2(50), Anfangsdatum date, Enddatum date,
primary key(FID));
create table Foerderprogrammteilnahme(FID number(10) not null, KID
number(10) not null, primary key(FID, KID),
foreign key(FID) references ArtFoerderprogramme, foreign key(KID)
references Kinder);
insert into Kinder values (1, 'Mustermann', 'Maxo', 'Musterweg 1',
11111, 'Musterstadt', '01-jan-2000', '20-jan-2003', 1);
insert into Kinder values (2, 'Musterfrau', 'Maxim', 'Musterstrasse
2', 11411, 'Musterhausen', '01-jan-2001', '20-jun-2004', 0);
insert into Kinder values (3, 'Muster', 'Andrea', 'Muster 12', 11211,
'Musterdorf', '01-jul-2000', '20-jan-2003', 0);
insert into Krankheiten values (1, 'Kopfschmerzen', 'Aspirin geben');
insert into Krankheiten values (2, 'Gliederschmerzen', 'Paracetamol geben');
insert into Krankheiten values (3, 'Husten', 'Bronchikum geben');
insert into ArtFoerderprogramme values (1, 'Sprachfoerderung',
'01-feb-2003', '01-nov-2003');
insert into ArtFoerderprogramme values (2, 'Feinmotorik',
'01-feb-2003', '01-nov-2003');
insert into ArtFoerderprogramme values (3, 'ADS', '01-apr-2003', '01-nov-2003');
insert into Foerderprogrammteilnahme values (1, 1);
insert into Foerderprogrammteilnahme values (1, 2);
insert into Foerderprogrammteilnahme values (3, 1);
insert into Krankheitsfaelle values (1, 1);
insert into Krankheitsfaelle values (2, 2);
insert into Krankheitsfaelle values (3, 3);
Select * from Kinder where isGeschwisterkind = 1;
Select * from Krankheiten where Behandlung like '%geben';
update Kinder set isGeschwisterkind = 0 where KID = 1;
update Krankheiten set Behandlung = 'Bier geben' where KrID = 1;
Select K.KID, F.FID from Kinder K, ArtFoerderprogramme F where K.KID = F.FID;
Select K.KID, F.FID from Kinder K, ArtFoerderprogramme F, Foerderprogrammteilnahme E where K.KID = F.FID; <------- bisherige lösung
Comment