Hallo erstmal alle zusammen!
Ich bräuchte hier von dem einen oder anderen Hilfe in einer speziellen SQL Abfrage. Ich arbeite mit dem Programm MySQL mit MySQL Query Browser. Nun zu meinem Problem:
Ich möchte eine SQL Abfrage erstellen, die es mir ermöglicht, alle AUFNAHMEN aufzuzeigen bei denen die Interpreten X und Y zusammen gespielt haben.
So meine Tabellen sehen so aus:
Album
Album_Nr Album_Titel Label
L01 Dexter Gordon CBS Studios
L02 Beebop is the music Oceanview Digital
Album/Aufnahmen
Album_Nr Aufnahmen_Nr
L01 A01
L01 A02
L01 A03
Alben/Stück
Album_Nr Stück_Nr
L01 S01
L01 S02
L01 S03
L01 S04
Alben/Interpreten
Albun_Nr Interpreten_Nr
A01 I01
A01 I02
Stück/Interpret
Stück_Nr Interpreten_Nr
S01 I01
S01 I04
S01 I10
S02 I04
Musikstück
Stück_Nr Stück_Titel Stück_Zeit
S01 Winelight 07:32
S02 Let it Flow 05:32
Interpret
Interpreten_Nr Interpreten_Name Rolle
I01 William Eaton Saxaphone
I02 Grover Washington Jr Drums
Aufnahme
Aufnahmen_Nr Aufnahmen_Art Aufnahmen_Ort Aufnahmen_Datum
A01 Studio New York 06.07.1980
A02 Studio New York 06.07.1980
A09 Studio Columbia 15.03.1950
Stück/Aufnahme
Stück_Nr Aufnahmen_Nr
S01 A01
S02 A02
S03 A03
Mein ER Modell sieht so aus:
Ich habe insgasamt 9 Tabellen wie ihr oben seht...
1 Musikstück hat 1-* Aufnahmen
1 Musikstück hat 1-* Interpreten
1 Musikstück ist auf 1-* Alben vertreten
1 Aufnahme hat 1 Musikstück
1 Aufnahme ist auf 1-* Album
1 Aufnahme hat 1-* Interpreten
1 Album hat *Aufnahmen
1 Album hat * Musikstücke
1 Album hat 1-* Interpreten
Ich hab das jetzt so überlegt, das er mir alle Aufnahmen_Nr ausspuckt wo die beiden zusammen gespielt haben und hab zunächst einmal die Interpreten_Nr von den beiden Künstlern nachgeschaut und dann folgende Abfrage kreiert:
select Aufnahmen_Nr from musis.musis.Aufnahmen_Stücke a join musis.musikstück_interpret m
on a.Stück_Nr = m.Stück_Nr
where Stück_Nr = (select Stück_Nr from musis.musikstück_interpret
where Interpret_Nr = 'I18') or
(select Stück_Nr from musis.musikstück_interpret
where Interpret_Nr = 'I20');
Jetzt hat das programm aber ein Problem damit, dass in der Subquery mehrere Reihen als Ergebnis kommen...
Kann mir vielleicht jemand weiter helfen?
Vielen Dank schonmal!!!!!
Ich bräuchte hier von dem einen oder anderen Hilfe in einer speziellen SQL Abfrage. Ich arbeite mit dem Programm MySQL mit MySQL Query Browser. Nun zu meinem Problem:
Ich möchte eine SQL Abfrage erstellen, die es mir ermöglicht, alle AUFNAHMEN aufzuzeigen bei denen die Interpreten X und Y zusammen gespielt haben.
So meine Tabellen sehen so aus:
Album
Album_Nr Album_Titel Label
L01 Dexter Gordon CBS Studios
L02 Beebop is the music Oceanview Digital
Album/Aufnahmen
Album_Nr Aufnahmen_Nr
L01 A01
L01 A02
L01 A03
Alben/Stück
Album_Nr Stück_Nr
L01 S01
L01 S02
L01 S03
L01 S04
Alben/Interpreten
Albun_Nr Interpreten_Nr
A01 I01
A01 I02
Stück/Interpret
Stück_Nr Interpreten_Nr
S01 I01
S01 I04
S01 I10
S02 I04
Musikstück
Stück_Nr Stück_Titel Stück_Zeit
S01 Winelight 07:32
S02 Let it Flow 05:32
Interpret
Interpreten_Nr Interpreten_Name Rolle
I01 William Eaton Saxaphone
I02 Grover Washington Jr Drums
Aufnahme
Aufnahmen_Nr Aufnahmen_Art Aufnahmen_Ort Aufnahmen_Datum
A01 Studio New York 06.07.1980
A02 Studio New York 06.07.1980
A09 Studio Columbia 15.03.1950
Stück/Aufnahme
Stück_Nr Aufnahmen_Nr
S01 A01
S02 A02
S03 A03
Mein ER Modell sieht so aus:
Ich habe insgasamt 9 Tabellen wie ihr oben seht...
1 Musikstück hat 1-* Aufnahmen
1 Musikstück hat 1-* Interpreten
1 Musikstück ist auf 1-* Alben vertreten
1 Aufnahme hat 1 Musikstück
1 Aufnahme ist auf 1-* Album
1 Aufnahme hat 1-* Interpreten
1 Album hat *Aufnahmen
1 Album hat * Musikstücke
1 Album hat 1-* Interpreten
Ich hab das jetzt so überlegt, das er mir alle Aufnahmen_Nr ausspuckt wo die beiden zusammen gespielt haben und hab zunächst einmal die Interpreten_Nr von den beiden Künstlern nachgeschaut und dann folgende Abfrage kreiert:
select Aufnahmen_Nr from musis.musis.Aufnahmen_Stücke a join musis.musikstück_interpret m
on a.Stück_Nr = m.Stück_Nr
where Stück_Nr = (select Stück_Nr from musis.musikstück_interpret
where Interpret_Nr = 'I18') or
(select Stück_Nr from musis.musikstück_interpret
where Interpret_Nr = 'I20');
Jetzt hat das programm aber ein Problem damit, dass in der Subquery mehrere Reihen als Ergebnis kommen...
Kann mir vielleicht jemand weiter helfen?
Vielen Dank schonmal!!!!!