create table 'passagier' (
'KundenNr' int not null ,
'Vorname' varchar( 20 ) ,
'Nachname' varchar( 20 ) ,
'Adresse' varchar( 100 ) ,
'GebDat' int ,
primary key ( 'KundenNr' )
) ;
create table 'reservierung' (
'KundenNr' int not null ,
'ZugNr' int not null ,
'Klasse' int ,
'Preis' int ,
'StartBHF' varchar( 20 ) ,
'ZielBHF' varchar( 20 ) ,
primary key ( 'KundenNr' , 'ZugNr' )
) ;
create table 'zug' (
'ZugNr' int not null ,
'AbfahrtsDatum' int ,
'AbfahrtsZeit' int ,
'AnkunftsZeit' int ,
'ZugStartBHF' varchar( 30 ) ,
'ZugZielBHF' varchar( 30 ) ,
primary key ( 'ZugNr' )
) ;
insert into passagier ( KundenNr, Vorname, Nachname, Adresse, GebDat)
values( 12345 , 'Sarah' , 'Heidtmann' , 'Uthmannstr' , 87 ) ;
insert into reservierung ( KundenNr, ZugNr, Klasse, Preis, StartBHF, ZielBHF)
values( 12345 , 3 , 1 , 10 , 'Duisburg' , 'Hamburg' ) ;
insert into zug ( ZugNr, AbfahrtsDatum, AbfahrtsZeit, AnkunftsZeit, ZugStartBHF, ZugZielBHF)
values ( 3 , 6 , 12 , 20 , 'Duisburg' , 'Bremen' ) ;
insert into zug ( ZugNr, AbfahrtsDatum, AbfahrtsZeit, AnkunftsZeit, ZugStartBHF, ZugZielBHF)
values ( 4 , 6 , 21 , 22 , 'Bremen' , 'Hamburg' ) ;
insert into zug ( ZugNr, AbfahrtsDatum, AbfahrtsZeit, AnkunftsZeit, ZugStartBHF, ZugZielBHF)
values ( 5 , 6 , 10 , 11 , 'Bremen' , 'Hamburg' ) ;
create view Anschlusszuege AS
select z1.ZugNr AS ZugNr1, z2.ZugNr AS ZugNr2, z1.AbfahrtsDatum , z1.AbfahrtsZeit , z2.AnkunftsZeit ,
z1.ZugStartBHF , z2.ZugStartBHF AS Zwischenstopp, z2.ZugZielBHF
from zug z1 JOIN zug z2
on z1.ZugZielBHF = z2.ZugStartBHF
where z1.AbfahrtsDatum = z2.Abfahrtsdatum AND z1.AbfahrtsZeit <= z2.AbfahrtsZeit -- your code goes here
ICAgICAgICAgICAgY3JlYXRlIHRhYmxlICdwYXNzYWdpZXInKAogICAgICAgICAgICAnS3VuZGVuTnInIGludCBub3QgbnVsbCwKICAgICAgICAgICAgJ1Zvcm5hbWUnIHZhcmNoYXIoMjApLAogICAgICAgICAgICAnTmFjaG5hbWUnIHZhcmNoYXIoMjApLAogICAgICAgICAgICAnQWRyZXNzZScgdmFyY2hhcigxMDApLAogICAgICAgICAgICAnR2ViRGF0JyBpbnQsIAogICAgICAgICAgICBwcmltYXJ5IGtleSAoJ0t1bmRlbk5yJykKICAgICAgICAgICAgKTsKICAgICAKICAgICAgICAgICAgY3JlYXRlIHRhYmxlICdyZXNlcnZpZXJ1bmcnKAogICAgICAgICAgICAnS3VuZGVuTnInIGludCBub3QgbnVsbCwKICAgICAgICAgICAgJ1p1Z05yJyBpbnQgbm90IG51bGwsCiAgICAgICAgICAgICdLbGFzc2UnIGludCwKICAgICAgICAgICAgJ1ByZWlzJyBpbnQsCiAgICAgICAgICAgICdTdGFydEJIRicgdmFyY2hhcigyMCksCiAgICAgICAgICAgICdaaWVsQkhGJyB2YXJjaGFyKDIwKSwKICAgICAgICAgICAgcHJpbWFyeSBrZXkgKCdLdW5kZW5OcicsICdadWdOcicpCiAgICAgICAgICAgICk7CiAgICAgCiAgICAgICAgICAgIGNyZWF0ZSB0YWJsZSAnenVnJygKICAgICAgICAgICAgJ1p1Z05yJyBpbnQgbm90IG51bGwsCiAgICAgICAgICAgICdBYmZhaHJ0c0RhdHVtJyBpbnQsIAogICAgICAgICAgICAnQWJmYWhydHNaZWl0JyBpbnQsCiAgICAgICAgICAgICdBbmt1bmZ0c1plaXQnIGludCwKICAgICAgICAgICAgJ1p1Z1N0YXJ0QkhGJyB2YXJjaGFyKDMwKSwKICAgICAgICAgICAgJ1p1Z1ppZWxCSEYnIHZhcmNoYXIoMzApLAogICAgICAgICAgICBwcmltYXJ5IGtleSAoJ1p1Z05yJykKICAgICAgICAgICAgKTsKICAgICAKICAgICAgICAgICAgaW5zZXJ0IGludG8gcGFzc2FnaWVyIChLdW5kZW5OciwgVm9ybmFtZSwgTmFjaG5hbWUsIEFkcmVzc2UsIEdlYkRhdCkKICAgICAgICAgICAgdmFsdWVzKDEyMzQ1LCAnU2FyYWgnLCAnSGVpZHRtYW5uJywgJ1V0aG1hbm5zdHInLCA4Nyk7CiAgICAgCiAgICAgICAgICAgIGluc2VydCBpbnRvIHJlc2VydmllcnVuZyAoS3VuZGVuTnIsIFp1Z05yLCBLbGFzc2UsIFByZWlzLCBTdGFydEJIRiwgWmllbEJIRikKICAgICAgICAgICAgdmFsdWVzKDEyMzQ1LCAzLCAxLCAxMCwgJ0R1aXNidXJnJywgJ0hhbWJ1cmcnKTsKICAgICAKICAgICAgICAgICAgaW5zZXJ0IGludG8genVnIChadWdOciwgQWJmYWhydHNEYXR1bSwgQWJmYWhydHNaZWl0LCBBbmt1bmZ0c1plaXQsIFp1Z1N0YXJ0QkhGLCBadWdaaWVsQkhGKQogICAgICAgICAgICB2YWx1ZXMgKDMsIDYsIDEyLCAyMCwgJ0R1aXNidXJnJywgJ0JyZW1lbicpOyAKICAgICAKICAgICAgICAgCWluc2VydCBpbnRvIHp1ZyAoWnVnTnIsIEFiZmFocnRzRGF0dW0sIEFiZmFocnRzWmVpdCwgQW5rdW5mdHNaZWl0LCBadWdTdGFydEJIRiwgWnVnWmllbEJIRikKICAgICAgICAgICAgdmFsdWVzICg0LCA2LCAyMSwgMjIsICdCcmVtZW4nLCAnSGFtYnVyZycpOwogICAgIAogICAgICAgICAgICBpbnNlcnQgaW50byB6dWcgKFp1Z05yLCBBYmZhaHJ0c0RhdHVtLCBBYmZhaHJ0c1plaXQsIEFua3VuZnRzWmVpdCwgWnVnU3RhcnRCSEYsIFp1Z1ppZWxCSEYpCiAgICAgICAgICAgIHZhbHVlcyAoNSwgNiwgMTAsIDExLCAnQnJlbWVuJywgJ0hhbWJ1cmcnKTsKICAgICAKICAgICAJCWNyZWF0ZSB2aWV3IEFuc2NobHVzc3p1ZWdlIEFTCiAgICAgICAgICAgIHNlbGVjdCB6MS5adWdOciBBUyBadWdOcjEsIHoyLlp1Z05yIEFTIFp1Z05yMiwgejEuQWJmYWhydHNEYXR1bSwgejEuQWJmYWhydHNaZWl0LCB6Mi5Bbmt1bmZ0c1plaXQsCiAgICAgICAgICAgIAl6MS5adWdTdGFydEJIRiwgejIuWnVnU3RhcnRCSEYgQVMgWndpc2NoZW5zdG9wcCwgejIuWnVnWmllbEJIRgogICAgICAgICAgICBmcm9tIHp1ZyB6MSBKT0lOIHp1ZyB6MgogICAgICAgICAgICBvbiB6MS5adWdaaWVsQkhGID0gejIuWnVnU3RhcnRCSEYKICAgICAgICAgICAgd2hlcmUgejEuQWJmYWhydHNEYXR1bSA9IHoyLkFiZmFocnRzZGF0dW0gQU5EIHoxLkFiZmFocnRzWmVpdCA8PSB6Mi5BYmZhaHJ0c1plaXQtLSB5b3VyIGNvZGUgZ29lcyBoZXJl