SQL-Abfrage für 2 Tabellen die über eine Tabelle miteinander Verknüpft sind.
-
Also ich habe 2 Tabellen (Person/Software)
Person
id - name
1 - peter
2 - max
3 - moritzSoftware
id - name
1 - Microsoft Office
2 - Windows Vista
3 - Windows XP HomeNun habe ich eine Tabelle Rent in der gespeichert wird welche Person was für eine Software geliehen hat(Eine Person kann auch mehreres Ausleihen)
Rent
id - personId - SoftwareId
1 - 1 - 1
2 - 1 - 2
3 - 1 - 3
4 - 2 - 2
5 - 2 - 3Wie muss nun Die SQL-Abfrage Lauten um jede Software Die Person 1 ausgeliehen hat auszugeben?
SELECT software.id, software.name, rent.personId FROM software, rent WHERE rent.personID = 1;
funktioniert leider nicht(Es wird immer jede Software ausgegeben/mehrmals).
Vielen Dank für eure Hilfe
-
du mußt natürlich noch abklären dass die Id von Rent gleich der von Software ist, also entweder:
SELECT software.id, software.name, rent.personId FROM software, rent WHERE rent.personID = 1 AND rent.SoftwareId = software.id;
oder
SELECT software.id, software.name, rent.personId FROM rent join software ON (rent.SoftwareId = software.id) WHERE rent.personID = 1;