[access] join tussen 2 tabellen waarvan er 1 nog leeg is.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik wil een joint tussen 2 tabellen doen.
1 tabel bevat een vraag met antwoord en de andere bevat een gebruik_id met antwoord.
Nu wil ik dat wanneer de gebruiker nog geen antwoord heeft gegeven de vraag wordt getoond en als de gebruiker wel een antwoord heeft gegeven de vraag met het antwoord en het gebruiker antwoord wordt getoond.

In 1e instantie had ik
code:
1
2
3
4
5
6
select vrn.id as vraag_id
, vrn.antwoord
, gvr.antwoord
from (vragen vrn
left outer join gebruikervragen gvr
(on vrn.id = gvr.vraag_id))


Dit haalt netjes alles op, maar dit wil ik per gebruiker doen.
dus
code:
1
where gvr.gebruiker_id = 1


Dan wordt niks opgehaald. Dat is logisch omdat de gebruikervragen tabel nog leeg is.
Nu heb ik het ook met een union geprobeerd maar dat lukte ook niet.
Het moet toch wel in 1 query mogelijk zijn?

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 10:15

Janoz

Moderator Devschuur®

!litemod

Je moet andersom redeneren. Ik neem aan dat je alle vragen op wilt halen? Begin daar dan mee, en join vervolgens de antwoorden van de specifieke gebruiker hieraan. Je query is dus bijna goed, maar je zult iets specifieker moeten joinen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • PaulZ
  • Registratie: Augustus 2004
  • Laatst online: 21-05-2024
Werkt dit?
code:
1
on vrn.id = gvr.vraag_id and gvr.gebruiker_id = 1

Vlinders moet je volgen, niet vangen...


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PaulZ schreef op donderdag 11 maart 2010 @ 15:28:
Werkt dit?
code:
1
on vrn.id = gvr.vraag_id and gvr.gebruiker_id = 1
Hey Super, ik moet het natuurlijk in de ON plaatsen.
Nu werkt het inderdaad!

code:
1
2
3
4
5
6
select vrn.id as vraag_id
, vrn.antwoord
, gvr.antwoord
from (vragen vrn
left outer join gebruikervragen gvr
(on vrn.id = gvr.vraag_id and gebruiker_id =1))

Acties:
  • 0 Henk 'm!

  • PaulZ
  • Registratie: Augustus 2004
  • Laatst online: 21-05-2024
Da's wat Janoz ook al indirect zei ;).

Vlinders moet je volgen, niet vangen...