[SQL] query

Pagina: 1
Acties:

  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
Ik weet niet precies hoe ik dit in een titel moet uitleggen, maar het komt op het volgende neer:

Ik heb 3 tabellen
gebruikers
totos
deelname

de deelname tabel bevat:
gebruikersID
totoID

en bevat dus welke gebruiker aan welke toto meedoet.


Nu wil ik een overzicht van alle totos waaraan de gebruiker NIET meedoet..

Ik heb vanalles geprobeerd maar ik kom er niet uit.

Ik heb nu dit:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT
            totos.id,
            totos.naam
FROM
            totos
LEFT JOIN
            deelname
ON
            deelname.totoID = totos.id
WHERE
            deelname.totoID IS NULL
AND
            deelname.gebruikersID = $MySession->userid


Dit geeft niets terug, en dat klopt ook wel, aangezien ik een row zoek waar totoID NULL is en gebruikersID niet. Zo'n row bestaat niet in een relatie tabel.

Ik kan niets anders verzinnen. Ik heb het ook geprobeerd met 2 queries en dan de arrays vergelijken, maar dit is erg oneconomisch en ook totaal onhandig met betrekking tot mijn template systeem.

Ik zou zweren dat het moet kunnen met sql, maar ik kan het nergens vinden.

Iemand een idee?

[ Voor 8% gewijzigd door maartenvdv737 op 26-03-2003 15:25 ]

Ik blijf er iig vrij nuchter onder....


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:02
Je zult met een subquery aan de slag moeten. (Tenzij je met MySQL werkt, want die ondersteunt geen subqueries).

code:
1
2
3
select *
from tabel
where id not in (select ....)

[ Voor 23% gewijzigd door whoami op 26-03-2003 15:25 ]

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Je kan eens kijken naar de combinatie

Where TotoID Not IN (Select UserID FROM blaar)

edit:

whoami, ga eens ff een cursus traag zijn volgen bij Glimi.. :+

[ Voor 33% gewijzigd door gorgi_19 op 26-03-2003 15:25 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
wow, jullie zijn snel..

ik werk dus met mysql
kan dat echt niet?

Is in not in (XX) XX een lijst gescheiden door komma's?

[ Voor 31% gewijzigd door maartenvdv737 op 26-03-2003 15:27 ]

Ik blijf er iig vrij nuchter onder....


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

In mysql moet je dat dan oplossen met een outer join en een is null.

Who is John Galt?


  • EfBe
  • Registratie: Januari 2000
  • Niet online
als je zelf dat lijstje voor elkaar maakt dan lukt het wel met MySQL.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
heb het nu idd met 2 queries...

Ik blijf er iig vrij nuchter onder....


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:02
Een comma-separated string should do the trick.

justmental schreef op 26 maart 2003 @ 15:30:
In mysql moet je dat dan oplossen met een outer join en een is null.


Idd, dat kan je ook doen.
Zie ook hier:
[rml]Cheatah in "[ SQL] Tegenovergestelde van een join"[/rml]

https://fgheysels.github.io/

Pagina: 1