[MySQL] Select uit id uit Tabel A die niet in Tabel B

Pagina: 1
Acties:
  • 69 views sinds 30-01-2008

  • DarkAllMan
  • Registratie: Mei 2004
  • Laatst online: 22-05 09:14
Hallo iedereen.
Ik heb Tabel A en B.
De uiteindelijke bedoeling is een dropdown te creeeren van gebruikers uit Tabel A die nog niet in tabel B zijn opgenomen.

Tot nu toe gebruikte Queries (die dus niet werken):

SELECT t.user_id, t.user_voornaam, t.user_achternaam, t.user_tussenvoegsel, t.user_email, r.id
FROM A t, B r
WHERE t.user_achternaam <> ''
AND r.id <> t.user_id
GROUP BY t.user_voornaam, t.user_achternaam
ORDER BY t.user_voornaam ASC

SELECT t.user_id, t.user_voornaam, t.user_achternaam, t.user_tussenvoegsel, t.user_email
FROM A t
WHERE t.user_id NOT IN (SELECT r.id FROM B r)
AND t.user_achternaam <> ''
ORDER BY t.user_voornaam ASC
Werkt nog niet in mijn MySQL versie

SELECT t.user_id, t.user_voornaam, t.user_achternaam, t.user_tussenvoegsel, t.user_email, r.id
FROM A as t
LEFT JOIN B as r
WHERE t.user_achternaam <> ''
AND t.user_id = r.id
AND r.id is NULL
GROUP BY t.user_voornaam, t.user_achternaam
ORDER BY t.user_voornaam ASC

Volgens mij is de laatste query het dichtst in de buurt. Wie helpt me verder.

  • ATS
  • Registratie: September 2001
  • Laatst online: 12-02 13:46

ATS

Is het probleem niet gewoon dat je geen aggregate functions gebruikt voor je user_id, user_tussenvoegsel en user_email velden? Probeer anders de selectie eerst eens te maken zonder de GROUP BY.

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
LEFT JOIN B as r ON t.user_id=r.user_id
WHERE r.id is NULL

is een gokje, want je laatste query klopt van geen kant. Eerst alles tonen waar t.user_id=r.id en dan alles tonen waar r.id IS NULL oftewel je wilt alles zien waar t.user_id IS NULL.

Ik weet niet of r.user-id bestaat, maar als die bestaat zou bovenstaande je moeten helpen.

En geeft ook even aan wat er fout aan bovenstaande query's is + datamodel van de dbase.

[ Voor 12% gewijzigd door Gomez12 op 05-07-2004 12:13 ]


  • DarkAllMan
  • Registratie: Mei 2004
  • Laatst online: 22-05 09:14
Opgelost!

SELECT t.user_id, t.user_voornaam, t.user_achternaam, t.user_tussenvoegsel, t.user_email
FROM A as t
LEFT JOIN B as r
ON t.user_id = r.id
WHERE r.id IS NULL
AND t.user_achternaam <> ''
GROUP BY t.user_voornaam, t.user_achternaam
ORDER BY t.user_voornaam ASC

Did the trick!! :)
Iedereen bedankt voor zijn of haar hulp!

Verwijderd

offtopic:
*kuch*, een beetje van twee walletjes eten hè ;)
Zie deze crosspost.

  • DarkAllMan
  • Registratie: Mei 2004
  • Laatst online: 22-05 09:14
Verwijderd schreef op 05 juli 2004 @ 12:37:
offtopic:
*kuch*, een beetje van twee walletjes eten hè ;)
Zie deze crosspost.
Ze noemen mij dan ook regelmatig, Eej Dikke!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20:27

gorgi_19

Kruimeltjes zijn weer op :9

Mja, dit ziet er wel redelijk opgelost en richting "offtopic-gaand" uit.. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.