SQL in ACCESS hulpje nodig...?

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

  • leond
  • Registratie: Juni 2003
  • Laatst online: 27-05-2020
ok hie is t probleem. Ik heb 2 tabellen. In deze tabellen met gegevens van de klant. In deze tabellen komen ook nog dezelfde klanten voor. Deze heb ik in een querie gezet. (dus degene die in beide tabellen staan. Maar hoe kan ik nu de klant gegevens uit de 2e tabel halen die niet ook in de eerste tabel staat?

ik heb dan

SELECT * FROM [table2] INNER JOIN table1 ON [table2].customer = table1.customer
WHERE NOT ((([table2].customer) = [table1].[customer]));

alleen dit geeft een leeg veld terug terwijl ik cker weet dat hier gegevens uit moeten komen.. :/

weet iemand hoe?

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
WHERE NOT (...

WHERE NOT at IN ?

https://fgheysels.github.io/


  • leond
  • Registratie: Juni 2003
  • Laatst online: 27-05-2020
dat moet k hebben ja maar hoe gebruik je die precies?

  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

SELECT * FROM tabel2 WHERE NOT IN (SELECT * FROM tabel1)

Niet netjes maar werkt denk ik wel. Maar waarom heb je 2 tabelen met dezelfde informatie?

Huur mij in als freelance SEO consultant!


  • leond
  • Registratie: Juni 2003
  • Laatst online: 27-05-2020
CrashOne schreef op 27 August 2003 @ 14:34:
SELECT * FROM tabel2 WHERE NOT IN (SELECT * FROM tabel1)

Niet netjes maar werkt denk ik wel. Maar waarom heb je 2 tabelen met dezelfde informatie?
nou tis op me werk. Eerste tabel is van tijdje geleden. Klanten die iets hadden gedaan (doet er ff niet toe wat) kregen een waarschuwings email. Sommige hebben er wat aan gedaan. En nu is er een lijst met mensen die ook iets hebben gedaan. Sommige hadden het na de email opgelost. En sommige nog niet dus die staan ook weer in de tweede tabel en die krijgen een tweede waarschuwingsemail. en er zijn ook nieuwe mensen bij in die 2e tabel. en die moeten weer een eerste waarschuwingsemail krijgen en die moet ik er nu uithalen. Ik heb dus wel de mensen eruit kunnen krijgen die in beide tabellen staan (die dus een 2e waarschuwingsemail moten krijgen) maar in de 2e tabel staan ook klanten die niet in de eerste tabel staan en die moet krijg ik er niet uit.

  • leond
  • Registratie: Juni 2003
  • Laatst online: 27-05-2020
CrashOne schreef op 27 August 2003 @ 14:34:
SELECT * FROM tabel2 WHERE NOT IN (SELECT * FROM tabel1)

Niet netjes maar werkt denk ik wel. Maar waarom heb je 2 tabelen met dezelfde informatie?
maar waarom nog eens SELECT? want er is ook een INNERJOIN

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
't Is gewoon een bagger data-model.

https://fgheysels.github.io/


  • leond
  • Registratie: Juni 2003
  • Laatst online: 27-05-2020
CrashOne schreef op 27 August 2003 @ 14:34:
SELECT * FROM tabel2 WHERE NOT IN (SELECT * FROM tabel1)

Niet netjes maar werkt denk ik wel. Maar waarom heb je 2 tabelen met dezelfde informatie?
dit werkt btw niet... :'(

  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

leond schreef op 27 August 2003 @ 14:39:
[...]


maar waarom nog eens SELECT? want er is ook een INNERJOIN
idd, zei ook al dat het niet netjes is, maar om een voorbeeld te geven hoe not in werkt.

En idd, je data model is gewoon weg kut.
Je had beter een tabel kunnen maken met klant gegeven, 1 met overtredingen en 1 met oplossingen, lijkt mij.

Huur mij in als freelance SEO consultant!


  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

leond schreef op 27 August 2003 @ 14:42:
[...]


dit werkt btw niet... :'(
Je kan ook zelf wat uitzoeken ipv van gelijk weer het antwoord gaan vragen....

Huur mij in als freelance SEO consultant!


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Nogmaals.

WHERE NOT wat IN

Je zit hier met NOT IN te werken, maar je specifieert geen veld.

Pak er een sql tutorial bij, werk aan je datamodel, en denk zelf actief mee, ipv gewoon 'het werkt niet' te posten.

https://fgheysels.github.io/


  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

kijk, als je zegt
innerjoin t1 on t2.id = t1.id
zeg je eigenlijk
from t1,t2 where t1.id=t2.id
als je vervolgens zegt
where not t2.id = t1.id
is dat dus per definitie in tegenspraak met je join. Aan deze voorwaarden voldoen dus geen records ;)

de oplossing is al bijna gegeven, nl:
SELECT id FROM tabel2 WHERE id NOT IN (SELECT id FROM tabel1)

kaart != map && bottel != fles
Wacht op antwoord


  • apophis4u
  • Registratie: Oktober 2002
  • Laatst online: 22:04
CrashOne schreef op 27 August 2003 @ 14:43:
[...]


idd, zei ook al dat het niet netjes is, maar om een voorbeeld te geven hoe not in werkt.

En idd, je data model is gewoon weg kut.
Je had beter een tabel kunnen maken met klant gegeven, 1 met overtredingen en 1 met oplossingen, lijkt mij.
Hier heb je idd gelijk, maar hij moet nu eerst die records eruit zien te krijgen waar nog die email heen moet.
Dat kan vrij eenvoudig met een wizard in acces (zie ook mijn post op http://forum.fok.nl/showtopic.php/375613/1/25#12756783)

Code zou er als volgt uit moeten zien:
SELECT DISTINCTROW [Tabel1].[Key], [Tabel1].[Veldwaarde 1]
FROM Tabel1 LEFT JOIN Tabel2 ON [Tabel1].[Veldwaarde 1] = [Tabel2].[Veldwaarde 2]
WHERE ([Tabel2].[Veldwaarde 2] Is Null);

Ik vergelijk hier veldwaarde 1 uit tabel 1 met veldwaarde 2 uit tabel 2en waar hij ongelijk is laat hij de key en veldwaarde uit tabel 1 zien.

Een specialist weet veel van weinig en leert steeds meer van steeds minder, tot hij uiteindelijk alles weet van niets.


  • leond
  • Registratie: Juni 2003
  • Laatst online: 27-05-2020
j_du_pee schreef op 27 August 2003 @ 14:47:
kijk, als je zegt
[...]

zeg je eigenlijk

[...]


als je vervolgens zegt
[...]

is dat dus per definitie in tegenspraak met je join. Aan deze voorwaarden voldoen dus geen records ;)

de oplossing is al bijna gegeven, nl:

[...]
heeee super!!

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
jaja.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.