Probleem met meerdere verwijzingen naar 1 tabel

Status
Niet open voor verdere reacties.

elagas

Gebruiker
Lid geworden
16 mei 2006
Berichten
104
Hallo,

Ik zit met het volgende probleem, ik heb een query gemaakt vanuit 5 tabellen.
De onderstaande query die werkt gewoon, daar is niets mis mee. Maar de regel die in het rood is geschreven, is een verwijzing naar een personentabel.
Echter hier heb ik nog 4 velden van met hun eigen verwijzing naar de personentabel:
PROD.dbo.PLN_CONTRACT_LFC.FREE53_INTEGER as Senior Leveranciersmanager
PROD.dbo.PLN_CONTRACT_LFC.FREE54_INTEGER as Medior Leveranciersmanager
PROD.dbo.PLN_CONTRACT_LFC.FREE34 as Junior Leveranciersmanager
PROD.dbo.PLN_CONTRACT_LFC.FREE61_INTEGER as Medewerker Leveranciersmanagement

Deze velden zijn allemaal verwijzingen naar de PERS tabel.
Hoe kan ik in deze velden opnemen in mijn query die de Naam en Voorletters van bovenstaande personen laten zien.
======================================================================================================================================================
Select Distinct
PROD.dbo.PLN_CONTRACT.CODE,
PROD.dbo.PLN_CONTRACT.ACTUALBEGINDATE As Ingangsdatum,
PROD.dbo.PLN_CONTRACT_LFC.FREE57 As 'Contractnummer oorspronkelijk',
PROD.dbo_ORDGRP.CODEGRP As 'PDC Nummer',
PROD.dbo_ORDGRP.NAAM As PDC,
PROD.dbo.PLN_CONTRACT_LFC.FREE59 As 'Europese aanbesteding',
PROD.dbo.PLN_CONTRACT_LFC.FREE12_DATETIME As Actiedatum,
PROD.dbo.PLN_CONTRACT.CONTRACTUALENDDATE As 'Einddatum Contractduur',
PROD.dbo.PLN_CONTRACT_LFC.FREE23_DATETIME As 'Einddatum SPEND',
PROD.dbo.PLN_CONTRACT.NOTICE_TERM As Opzegtermijn,
PROD.dbo.PLN_CONTRACT_LFC.FREE11_DATETIME As Opzegdatum,
PROD.dbo.PLN_CONTRACT_LFC.FREE35 As 'Maximale einddatum',
PROD.dbo.PLN_CONTRACT_LFC.FREE67 As 'Incidentele verlenging(maanden)',
PROD.dbo.PLN_CONTRACT_LFC.FREE62 As 'Stilzwijgende verlenging',
PROD.dbo.PLN_CONTRACT_LFC.FREE64 As '1e Verlenging looptijd(maanden)',
PROD.dbo.PLN_CONTRACT_LFC.FREE66 As '2e Verlenging looptijd (maanden)',
PROD.dbo.ADRES.NAAM,
PROD.dbo.ADRES.ADRES,
PROD.dbo.ADRES.POSTCODE,
PROD.dbo.ADRES.PLAATS,
PROD.dbo.PLN_CONTRACT_LFC.REMARK As Toelichting,
PERS.NAAM + ' ' + PERS.VOORL AS 'Contactpersoon leverancier'
From
PLN_CONTRACT Right Outer Join
PLN_CONTRACT_LFC On PROD.dbo.PLN_CONTRACT.SYSCODE =
PROD.dbo.PLN_CONTRACT_LFC.FK_CONTRACT Left Outer Join
ADRES On PROD.dbo.PLN_CONTRACT_LFC.FREE60_INTEGER =
PROD.dbo.ADRES.SYSCODE Inner Join
ORDGRP On PROD.dbo.PLN_CONTRACT_LFC.FREE62_INTEGER =
PROD.dbo_ORDGRP.SYSCODE Left Outer Join
PERS On PROD.dbo.PLN_CONTRACT_LFC.FREE52_INTEGER = PROD.dbo.PERS.SYSCODE
Where
PROD.dbo.PLN_CONTRACT.REF_BOSTATE_USERDEFINED = 421
Order By
PLN_CONTRACT.CODE
=====================================================================================================================================================
 
Ik heb het al opgelost, hieronder volgt de oplossing:
[sql]
Select Distinct
PROD.dbo.PLN_CONTRACT.CODE,
PROD.dbo.PLN_CONTRACT.ACTUALBEGINDATE As Ingangsdatum,
PROD.dbo.PLN_CONTRACT_LFC.FREE57 As 'Contractnummer oorspronkelijk',
PROD.dbo_ORDGRP.CODEGRP As 'PDC Nummer',
PROD.dbo_ORDGRP.NAAM As PDC,
PROD.dbo.PLN_CONTRACT_LFC.FREE59 As 'Europese aanbesteding',
PROD.dbo.PLN_CONTRACT_LFC.FREE12_DATETIME As Actiedatum,
PROD.dbo.PLN_CONTRACT.CONTRACTUALENDDATE As 'Einddatum Contractduur',
PROD.dbo.PLN_CONTRACT_LFC.FREE23_DATETIME As 'Einddatum SPEND',
PROD.dbo.PLN_CONTRACT.NOTICE_TERM As Opzegtermijn,
PROD.dbo.PLN_CONTRACT_LFC.FREE11_DATETIME As Opzegdatum,
PROD.dbo.PLN_CONTRACT_LFC.FREE35 As 'Maximale einddatum',
PROD.dbo.PLN_CONTRACT_LFC.FREE67 As 'Incidentele verlenging(maanden)',
PROD.dbo.PLN_CONTRACT_LFC.FREE62 As 'Stilzwijgende verlenging',
PROD.dbo.PLN_CONTRACT_LFC.FREE64 As '1e Verlenging looptijd(maanden)',
PROD.dbo.PLN_CONTRACT_LFC.FREE66 As '2e Verlenging looptijd (maanden)',
PROD.dbo.ADRES.NAAM,
PROD.dbo.ADRES.ADRES,
PROD.dbo.ADRES.POSTCODE,
PROD.dbo.ADRES.PLAATS,
PROD.dbo.PLN_CONTRACT_LFC.REMARK As Toelichting,
PROD.dbo.PLN_CONTRACT_LFC.FREE52_INTEGER,
PROD.dbo.PLN_CONTRACT_LFC.FREE53_INTEGER,
PERSCPLEV.NAAM + ' ' + PERSCPLEV.VOORL AS 'Contactpersoon leverancier',
PERSSLM.NAAM + ' ' + PERSSLM.VOORL AS 'Senior leveranciersmanager',
PERSMDLM.NAAM + ' ' + PERSMDLM.VOORL AS 'Medior leveranciersmanager',
PERSJRLM.NAAM + ' ' + PERSJRLM.VOORL AS 'Junior leveranciersmanager',
PERSMWLM.NAAM + ' ' + PERSMWLM.VOORL AS 'Medewerker leveranciersmanager'
From
PLN_CONTRACT Right Outer Join
PLN_CONTRACT_LFC On PROD.dbo.PLN_CONTRACT.SYSCODE =
PROD.dbo.PLN_CONTRACT_LFC.FK_CONTRACT Left Outer Join
ADRES On PROD.dbo.PLN_CONTRACT_LFC.FREE60_INTEGER =
PROD.dbo.ADRES.SYSCODE Inner Join
ORDGRP On PROD.dbo.PLN_CONTRACT_LFC.FREE62_INTEGER =
PROD.dbo_ORDGRP.SYSCODE Left Outer Join
PERS as PERSCPLEV On PROD.dbo.PLN_CONTRACT_LFC.FREE52_INTEGER = PERSCPLEV.SYSCODE Join
PERS as PERSSLM On PROD.dbo.PLN_CONTRACT_LFC.FREE53_INTEGER = PERSSLM.SYSCODE Join
PERS as PERSMDLM On PROD.dbo.PLN_CONTRACT_LFC.FREE54_INTEGER = PERSMDLM.SYSCODE Join
PERS as PERSJRLM On PROD.dbo.PLN_CONTRACT_LFC.FREE34 = PERSJRLM.SYSCODE Join
PERS as PERSMWLM On PROD.dbo.PLN_CONTRACT_LFC.FREE61_INTEGER = PERSMWLM.SYSCODE
Where
PROD.dbo.PLN_CONTRACT.REF_BOSTATE_USERDEFINED = 421
Order By
PLN_CONTRACT.CODE
[/sql]
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan