Toon posts:

[SQL] / [Access97] Union niet als subquery?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb de volgende query :
code:
1
2
3
4
5
6
7
8
9
INSERT INTO TabelX
SELECT TabelY.*
FROM TabelY
WHERE TabelY.Sleutel not in (SELECT [Sleutel]
FROM [TabelA]
UNION SELECT [Sleutel] 
FROM  [TabelB]
UNION SELECT [Sleutel] 
FROM  [TabelC];);

Nu geeft access de volgende foutmelding : "Unions not allowed in a subquery."

Nu is mijn vraag: Waarom is dat zo en kan ik het op een of andere manier omzeilen?

een join met een andere query lukt wel, maar het zou netter zijn als dit in één query kan, toch?

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Moet een subquery niet maar 1 resultaat veld (Column's) hebben???

Een union heeft er altijd meerdere.

Programmer - an organism that turns coffee into software.


Verwijderd

Topicstarter
Op woensdag 08 mei 2002 16:13 schreef LuCarD het volgende:
Moet een subquery niet maar 1 resultaat veld (Column's) hebben???

Een union heeft er altijd meerdere.
Wat je zegt klopt, maar er komt ook maar een kolom uit.

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

SELECT [Sleutel]
FROM [TabelA]
UNION SELECT [Sleutel]
FROM [TabelB]
UNION SELECT [Sleutel]
FROM [TabelC];);

Dat zijn toch 3 column's :?

Programmer - an organism that turns coffee into software.


  • Orphix
  • Registratie: Februari 2000
  • Niet online
Op woensdag 08 mei 2002 16:20 schreef LuCarD het volgende:
SELECT [Sleutel]
FROM [TabelA]
UNION SELECT [Sleutel]
FROM [TabelB]
UNION SELECT [Sleutel]
FROM [TabelC];);

Dat zijn toch 3 column's :?
Ja maar worden onder elkaar geplakt (niet naast elkaar). Het resultaat is dus een enkele kolom.

  • Dash2in1
  • Registratie: November 2001
  • Laatst online: 31-08 22:49
[edit] no good

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op woensdag 08 mei 2002 19:34 schreef Orphix het volgende:

[..]

Ja maar worden onder elkaar geplakt (niet naast elkaar). Het resultaat is dus een enkele kolom.
Je hebt gelijk.... sowwy...

* LuCarD gebruikt te veel MySQL>..

Programmer - an organism that turns coffee into software.


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

code:
1
2
3
4
5
6
7
8
9
INSERT INTO TabelX
SELECT TabelY.*
FROM  TabelY
WHERE TabelY.Sleutel not in (SELECT [Sleutel]
                     FROM [TabelA])
AND   TabelY.Sleutel not in (SELECT [Sleutel] 
                     FROM  [TabelB])
AND   TabelY.Sleutel not in (SELECT [Sleutel] 
                     FROM  [TabelC]);

Zoiets zou moeten werken.

Who is John Galt?


  • Dash2in1
  • Registratie: November 2001
  • Laatst online: 31-08 22:49
komt wel in TabelA voor en niet in TabelB

Verwijderd

Topicstarter
Op donderdag 09 mei 2002 03:31 schreef justmental het volgende:

<knip>
Yep, dit werkt (had ik gvd ook zelf kunnen bedenken maar ik was me aan het blindstaren op het UNION statement. |:( )

Deze query is wel niet erg snel, maar het werkt!

Tnx!
Pagina: 1