Avatar billede pipedane Nybegynder
14. marts 2007 - 08:25 Der er 1 løsning

Join kun hvis der er noget at joine på

Har følgende sql sætning:

SELECT OrdLn.OrdNo, OrdLn.LnNo, OrdLn.Descr, OrdLn.ProdNo, OrdLn.Free1, Prod.inf2, OrdLn.CustNo, Actor.nm, OrdLn.Dc3Am, OrdLn.Dc4Am, OrdLn.Dc5Am, OrdLn.Dc6Am From OrdLn Left Join Prod on (OrdLn.ProdNo = Prod.ProdNo) Left Join Actor on (OrdLn.CustNo = Actor.CustNo) where OrdLn.OrdNo = " & prodnummer & " Order by OrdLn.ProdTp, OrdLn.StrSt, OrdLn.Srt

Der er tre tabeller, OrdLn, Prod, Actor
Mit spørgsmål er så: hvis nu at OrdLn.CustNo = 0, så vil jeg ikke foretage join af Actor. Kan eksisterende sql skrives om til det?
Jeg kan også lave endnu en forespørgsel der alene spørger på actor hvis ordLn.CustNo <> 0, men det var sjovere at lave det i en og samme sql forespørgsel.
Avatar billede pipedane Nybegynder
14. marts 2007 - 12:22 #1
Hmmn så enkelt.

Left Join Actor on ((OrdLn.CustNo = Actor.CustNo and OrdLn.CustNo > 0))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester