Toon posts:

[ACCESS SQL] Cartesisch Product

Pagina: 1
Acties:
  • 304 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Nadat ik deze query:

SELECT (
SELECT SUM(prijsbetalen)
FROM facturen
WHERE MONTH(factuurdatum) = 4
AND YEAR(factuurdatum) = 2004
) -
(
SELECT SUM(prijsbetalen)
FROM facturen
WHERE MONTH(factuurdatum) = 3
AND YEAR(factuurdatum) = 2004
) AS verschil
FROM facturen;

uitvoer op mijn database krijg ik het resultaat terug in de vorm van een cartesisch product nml:

VERSCHIL
300
300
300
300
300
300
300

De bedoeling is echter slechts een result geprint te krijgen op het scherm, hoe kan ik dit precies bewerkstelligen.

GROUP BY verschil mocht niet baten, kan iemand hulp bieden?

Misschien nuttig om erbij te vermelden dat mijn DBMS access 2003 is.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Laat die laatste FROM facturen eens weg. Je haalt daar immers niets meer uit een tabel, je trekt gewoon twee waarden die je al opgevraagd hebt van elkaar af. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Ook al eens geprobeerd, maar dat slikt MS Access ook niet:Reserved Error (-3025); there is no message for this error. :'(

En was het niet zo dat een FROM altijd verplicht is in een query (aangezien het FROM statement als eerst geëvalueerd wordt)

[ Voor 36% gewijzigd door Verwijderd op 18-01-2006 16:02 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Voor zover ik weet is een from zeker niet verplicht. Ik heb hier geen Access om te kijken wat dat doet, maar in MySQL werkt dit prima:
SQL:
1
SELECT 12 AS twaalf


Dit alles terzijde zie ik verder even niet waar het aan kan liggen. Heldere foutmelding ook. 8)7

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

En ook hier in Access werkt het :?

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


Verwijderd

Topicstarter
Inmiddels weer thuis gearriveerd, maar ook hier geen reactie als ik het FROM facturen statement weglaat.

Nu ben ik nog niet helemaal thuis in SQL, maar ik zie zo snel echt niet wat ik hier allemaal fout doe :'(

Schiet me net iets te binnen, SELECT DISTINCT 8)7

[ Voor 50% gewijzigd door Verwijderd op 18-01-2006 18:12 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Distinct is natuurlijk ook maar een lapmiddel, want intussen vraag je wel veel teveel records op, wat volgens mij door die overbodige FROM komt. Dat Access daar niet goed mee overweg kan is erg vaag IMO. Trouwens, in plaats van DISTINCT kun je mogelijk SELECT TOP 1 gebruiken, misschien is dat efficiënter/sneller.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • WormLord
  • Registratie: September 2003
  • Laatst online: 30-03 16:26

WormLord

Devver

Access ken ik niet zo goed, maar in Oracle heb je een dummy-tabel DUAL die je in dit soort situaties zou gebruiken. Is er voor access ook niet zoiets?

Verwijderd

Topicstarter
@WormLord: Als je doelt op zoiets als een VIEW, daar kan Access niet mee overweg. :X

@NME, Ik zal dadelijk op school eens kijken naar SELECT TOP 1.

Bedankt voor de reacties iig :)

EDIT:
@NME, even getest met SOLID en MySQL (5) en daar werkt het inderdaad zonder FROM.

[ Voor 21% gewijzigd door Verwijderd op 19-01-2006 20:12 ]

Pagina: 1