Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.
Toon posts:

MySQL Aanwezige leden tonen voor een bepaalde vergadering

Pagina: 1
Acties:

Vraag


Verwijderd

Topicstarter
Hi,

Ik zou graag het onderstaande voor elkaar krijgen:

Er zijn twee tabellen(leden en afmeldingen). Gebaseerd op de Lid die in beide tabellen voorkomt en het vergaderingsnummer(alleen in afmeldingen), zou ik graag de aanwezige leden tonen voor een bepaalde vergadering.

Ben nog niet zo lang bezig met MySQL en heb diverse dingen geprobeerd. Het verste kwam ik met onderstaande queries maar die geven uiteindelijk toch niet het goede resultaat.

De WHERE in de subquery werkt niet volgens mij, ik krijg de id's in vergelijking tot de gehele afmeldingen tabel en niet alleen van vergadering 18...

SELECT Lid
FROM leden
WHERE Lid NOT IN (SELECT Lid FROM afmeldingen WHERE vergadering = 18);

Onderstaande geeft een resultaat van 4 records uit de ledentabel(de afwezigen) van de 99 maar ik moet juist de andere 95 (de aanwezigen) hebben...
SELECT Lid
FROM leden
WHERE Lid = ANY (SELECT Lid FROM afmeldingen WHERE vergadering = 18);

Iemand een idee? Ik begin me er blind op te staren :?

Alle reacties


  • Harrie_
  • Registratie: Juli 2003
  • Niet online

Harrie_

⠀                  🔴 🔴 🔴 🔴 🔴

Misschien dit eens lezen :+

[ Voor 34% gewijzigd door Harrie_ op 02-06-2017 12:07 ]

Hoeder van het Noord-Meierijse dialect


  • Robicide
  • Registratie: Maart 2016
  • Laatst online: 13-11 22:08
Zoek 'ns uit wat NOT IN doet :)

Verwijderd

Ik snap niet waarom die eerste query niet doet wat je wilt - dat zou namelijk wel moeten.

  • Montaner
  • Registratie: Januari 2005
  • Laatst online: 14-11 10:35
MySQL:
1
2
3
SELECT Lid
FROM leden
WHERE Lid NOT IN (SELECT Lid FROM afmeldingen WHERE vergadering = 18);

Ik snap je uitleg na bovenstaande query niet. Deze zou gewoon moeten werken.
Zie ook:
http://sqlfiddle.com/#!9/076f8/3/0

  • glashio
  • Registratie: Oktober 2001
  • Laatst online: 12-11 20:40

glashio

C64 > AMIGA > PC

MySQL:
1
2
3
4
SELECT leden.*
FROM leden
LEFT JOIN afmeldingen ON leden.Lid=afmeldingen.Lid AND afmeldingen.vergadering=18
WHERE afmeldingen.Lid IS NULL

> Google Certified Searcher
> Make users so committed to Google that it would be painful to leave
> C64 Gospel
> [SjoQ] = SjoQing


  • glashio
  • Registratie: Oktober 2001
  • Laatst online: 12-11 20:40

glashio

C64 > AMIGA > PC

dubbel

[ Voor 91% gewijzigd door glashio op 02-06-2017 14:21 ]

> Google Certified Searcher
> Make users so committed to Google that it would be painful to leave
> C64 Gospel
> [SjoQ] = SjoQing


Verwijderd

Topicstarter
Beste allemaal, bedankt voor jullie antwoorden.
Ik heb de ledentabel aangeleverd gekregen en het bleek dat bepaalde records er uitgehaald waren waardoor de telling niet klopte... Probleem dus opgelost... Zo blind op gestaard terwijl het voor de hand lag...

Had het uiteindelijk zelf toch wel goed met mijn eerste oplossing warvan ik dacht dat de WHERE niet werkte...
Pagina: 1