[SQL] Join doet vaag

Pagina: 1
Acties:

  • gijoy
  • Registratie: Oktober 2000
  • Laatst online: 21-06 07:52
Ik probeer een joinrelatie te maken tussen 2 tabellen,
Afbeeldingslocatie: http://monkey.vanderveen.nu/joy/relatie.jpg
wat goed gaat met deze query:
code:
1
2
3
4
5
SELECT l.lidid, l.lidnaam, l.lidadres, l.lidtelnr, l.lidwoonplaats, l.bankrekening, 
                 l.bedrijfnaam, l.kvknummer, a.tegoed
    FROM leden l, reseller r, affiliate a
    RIGHT JOIN affiliate on a.lidid = l.lidid
    WHERE l.lidid='$lidid'

maar wil ik ipv de affiliate een reseller hebben vervang ik alles van affiliates naar reseller en dan werkt het niet meer. Dan heeft elk lid plotseling de korting van reseller, terwijl het dus bij affiliates wel goed gaat..

code:
1
2
3
4
5
SELECT l.lidid, l.lidnaam, l.lidadres, l.lidtelnr, l.lidwoonplaats, l.bankrekening,
                 l.bedrijfnaam, l.kvknummer, r.korting
    FROM leden l, reseller r, affiliate a
    RIGHT JOIN reseller on r.lidid = l.lidid
    WHERE l.lidid='$lidid'

  • whoami
  • Registratie: December 2000
  • Nu online
Wat werkt er niet? Geef eens precies aan wat er niet werkt (evt foutmelding) en wat je nu eigenlijk wilt doen.

Lees ook even de Quickstart:
Welkom in P&W -> Quickstart om snel aan de slag te kunnen

https://fgheysels.github.io/


  • baskabas
  • Registratie: December 2000
  • Laatst online: 05-04 12:26
Dan heeft elk lid plotseling de korting van reseller
Zo staat het ook in de 2e query (zie: r.korting) ... wat wil je daar dan hebben?

  • gijoy
  • Registratie: Oktober 2000
  • Laatst online: 21-06 07:52
ik probeer om leden die ook reseller zijn de korting bij te plaatsen, maar om de een of andere reden krijgt elk lid, dus ook niet resellers, een resellerkorting. Bij affiliates gaat het wel goed terwijl het dezelfde relatie is en ik alleen wat attributen vervang.

  • baskabas
  • Registratie: December 2000
  • Laatst online: 05-04 12:26
Aha! Probeer de r.korting eens te wijzigen in IsNull(r.korting,0) as korting.

Als de klant dan geen reseller is wordt er geen record gevonden... dan krijg je een null waarde, maar dat gaat sommige resultsets in tools niet helemaal goed... het is dan het beste om de null om te zetten in een 0 of een lege string.

Is zowieso altijd aan te raden vindt ik.