[SQL] Join probleempje

Pagina: 1
Acties:

  • MrCyber
  • Registratie: Mei 2000
  • Laatst online: 24-05-2018
De volgende situatie. Ik heb 2 tabellen :

Products
- ProductID
- Product
- PM_Hardware
- PM_Firmware
- PM_Software

PM_Hardware, PM_Firmware en PM_Software hebben allemaal een 1 to many relatie met ProductManagers.ProductManagerID

ProductManagers
- ProductManagerID
- Name

Nu wil ik het volgende voor elkaar krijgen in een tabel. (het liefst met 1 SQL query)

Product PM_Hardware.Name PM_Firmware.Name PM_Software.Name

Ik heb al diverse zaken geprobeerd met verschillende soorten Joins, maar ben er nog steeds niet uit.

Tot zo ver werkt het :

SQL:
1
2
SELECT Products.Product, ProductManagers.Name as PM_Hardware FROM Products 
 INNER JOIN ProductManagers ON ProductManagerID = PM_Hardware


Als ik echter het volgende doe werkt het niet :

SQL:
1
2
3
4
SELECT Products.Product, ProductManagers.Name as PM_Hardware,
 ProductManagers.Name as PM_Firmware  FROM Products 
INNER JOIN ProductManagers ON ProductManagerID = PM_Hardware 
INNER JOIN ProductManagers ON ProductManagerID = PM_Firmware


Ik krijg dan de volgende error :

Tables or functions 'ProductManagers' and 'ProductManagers' have the same exposed names. Use correlation names to distinguish them.

Is er iemand die mij wat hints kan geven om tot een oplossing te komen ?

Verwijderd

SQL:
1
2
3
4
5
6
7
8
9
SELECT 
   P.Product, 
   PMH.Name as PM_Hardware,
   PMF.Name as PM_Firmware  
FROM 
   Products P INNER JOIN ProductManagers PMH
      ON P.ProductManagerID = PMH.ID 
      INNER JOIN ProductManagers PMF
         ON PMH.ProductManagerID = PMF.ID

Zoiets wellicht? Check even de kolomnamen in de joins, kan die verkeerd hebben.

Je moet iedere tabelnaam die je dubbel gebruikt een alias geven door er een alias naam achter te zetten.

Enjoy :)

  • MrCyber
  • Registratie: Mei 2000
  • Laatst online: 24-05-2018
Verwijderd schreef op 18 september 2002 @ 20:52:
Zoiets wellicht? Check even de kolomnamen in de joins, kan die verkeerd hebben.
Thanks. Dat werkt. Weer wat geleerd. :)