• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

SQL-statement

Status
Niet open voor verdere reacties.

linkav

Gebruiker
Lid geworden
13 jun 2007
Berichten
465
Hallo,

Ik weet niet of dit de correct plaats is om mijn vraag te stellen, maar ik hoor het wel waar ik ze dan wel had moeten stellen...

Het gaat om een SQL-statement dat gebruikt wordt in een draaitabel. Er wordt mij gevraagd om het volgende SQL-statement te 'fatsoeneren' door gebruikt te maken van (inner- of left- of ...) joins.

Het gaat om:
Code:
Select tab.*,ari.ariinfo,
case 
   when TOPDEFK020.BMVPKD < 50 then 'H'
   when TOPDEFK020.BMVPKD >= 50 then 'F'
   else ' ' end
   as HF_AANV

from

( 

SELECT 
                ARS.ARSKLKNR, 
                ARS.ARSKLVNR, 
                ARS.ARSKKSLD, 
                concat(concat(cast(ARD.ABLVNR as varchar(4)),' '), lv.lvherk) as supplier, 
                ARD.KSLD, 
                ARs.arsktpcd, 
                ARD.DELIVDATE, 
                ARD.DELIVTIME, 
                ARD.DELIVLKNR, 
                ARD.DELIVGATE, 
                ARD.TRUCKID, 
                ARD.COMMENT, 
                ARS.ARSKTRID, 
                ARS.ARSKSTAT, 
                ARS.ARSKDSNR, 
                ARS.ARSKSKU, 
                ARS.ARSKAANT, 
                VP.VPDEMD, 
                ARS.ARSKINJC, 
                ARS.ARSKSTMP, 
                TOPFLOPB.LVHERK, 
                TOPFLOPB.DKMERK, 
                TOPFLOPB.DKSXRE, 
                TOPFLOPB.ZEHFGR, 
                TOPFLOPB.XKHFKD AS HF_DIST, 
                TOPFLOPB.TFCPNU, 
                SKAHJCO.SKDDON, 
                SKAHJCO.SKWKNR, 
                TOPFLOPB.ABKNM1, 
                TOPFLOPB.DKKNM2, 
                TOPFLOPB.AFPPERC, 
                TF05.TFFONU, 
                TOPFLOPB.RECLSTRING, 
	  SK.SKKNMR, 
SK.SKTEXT

FROM 
                C600789C.GPC.ARD ARD, 
                C600789C.GPC.ARS ARS, 
                C600789C.LFILES.LV LV, 
                C600789C.USRGPL.SKAHJCO SKAHJCO,
                C600789C.GPC.TF05 TF05, 
                C600789C.GPC.TOPFLOPB TOPFLOPB, 
                C600789C.KDGEDF.VP VP,
C600789C.LFILES.SK SK
WHERE 
[COLOR="#FF0000"]ARS.ARSKLVNR = ARD.ABLVNR 
AND ARS.ARSKDLVD = ARD.DELIVDATE 
AND ARS.ARSKDSNR = TOPFLOPB.ABDSNR 
AND ARD.DELIVDATE = SKAHJCO.SKDEMD 
AND ARS.ARSKDSNR = VP.VPDSNR 
AND ARD.TRUCKID = ARS.ARSKTRID 
AND TF05.ABDSNR = TOPFLOPB.ABDSNR 
AND ARD.ABLVNR = LV.LVLVNR 
[/COLOR]
AND ((VP.VPKDIU='I') 
AND (ARS.ARSKSTAT<>'ACC') AND(ARS.ARSKSTAT<>'DLT') 
AND (LV.LVAKKD<>1) 
OR (VP.VPKDIU='I') AND (ARS.ARSKSTAT Not In ('ACC','DLT')) AND (LV.LVAKKD=1))
AND ARSKTPCD = SK.SKKNMR
AND SK.SKVELD='GATE'
) as tab

Left outer join C600789C.GPC.TOPDEFK020 TOPDEFK020
on TOPDEFK020.BRDSNR = tab.ARSKDSNR

Left outer join gpc.ari ari
On tab.arsktrid=ari.aritrid 
And tab.arskdsnr=ari.aridsnr

Kan iemand mij hiermee helpen?

Alvast bedankt!
 
De juiste plek is natuurlijk het SQL forum :)
 
Dan zal je toch de struktuur van de database goed moeten kennen, anders zal het niet mogelijk zijn de juiste joins te maken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan