Toon posts:

[SQL] Query combinatie DISTINCT en ORDER BY werkt niet

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

Verwijderd

Topicstarter
Hallo Mensen , ik ben met (access) SQL bezig nu loop ik tegen het volgende probleem aan;

code:
1
2
3
4
5
 SELECT DISTINCT Bestelling.Bestelnr, Bestelling.Besteldatum
FROM Bestelling, Inkoopregel
WHERE  Bestelling.Bestelwijze = "C"
AND Bestelling.Besteldatum - Inkoopregel.Afleverdatum < 7
ORDER BY Bestelling.Besteldatum , Inkoopregel.Afleverdatum


Hiermee krijg ik een wazige foutmelding , als ik DISTINCT weg haal veroorzaakt
access geen foutmeldingen meer, maar die DISTINCT is in deze query noodzakelijk.
Iemand een idee?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

En hoe luidt die wazige foutmelding? En ik zou een join gaan toepassen op de tabellen.

[ Voor 41% gewijzigd door gorgi_19 op 10-03-2003 21:37 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
De foutmelding is : ORDER BY - component is strijdig met ( Inkoopregel.Afleverdatum ) is strijdig met distinct

idd die topic titel had wel wat aanvullingen mogen hebben mijn excuses..., 2 late

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:02
Zorg er eerst voor dat je geen cartesiaans product verkrijgt. Dit kan je doen dmv de 2 tabellen te joinen.

Je kunt niet orderen op afleverdatum omdat afleverdatum niet in je select-clausule zit. Je kunt enkel sorteren op kolommen die je ook selecteert. (Logisch eigenlijk, waarom zou je willen sorteren op kolommen die je niet ophaalt).

https://fgheysels.github.io/


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Jij zoekt hier imho de group by functie ipv distinct.
Met distinct selecteer je dus maar 1 rij voor elke Bestelling.Besteldatum en Bestelling.Bestelnr ( gecombineerd ) terwijl je wel wilt aangeven dat ze moeten sorteren op Bestelling.Besteldatum (terwijl er maar 1 is)

Volgens mij wil je namelijk dit hebben
code:
1
2
3
4
5
Bestelnummer1 Datum1
Bestelnummer2 Datum1
Bestelnummer3 Datum1
Bestelnummer6 Datum1
Bestelnummer4 Datum2
If so, even naar GROUP BY kijken in een SQL tutorial :)

Tevens wil ik je adviseren voortaan ook even uit te leggen (in nederlandse taal) wat je wilt dat je query doet en een korte omschrijving van je data model erbij :) Ik zit nu namelijk te gokken wat jij wilt :) en dat is niet echt bevoorderlijk voor de duidelijkeheid van de antwoorden :)

  • martinvw
  • Registratie: Februari 2002
  • Laatst online: 14-12-2025
of voeg aan de WHERE nog een voorwaarde toe die de twee tabellen koppelt.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:02
M4rt1nvW schreef op 10 March 2003 @ 22:52:
of voeg aan de WHERE nog een voorwaarde toe die de twee tabellen koppelt.


Ik denk dat dit ondertussen wel al duidelijk gemaakt is.

https://fgheysels.github.io/


Verwijderd

code:
1
2
3
4
5
SELECT TOP 100% DISTINCT Bestelling.Bestelnr, Bestelling.Besteldatum
FROM Bestelling, Inkoopregel
WHERE  Bestelling.Bestelwijze = "C"
AND Bestelling.Besteldatum - Inkoopregel.Afleverdatum < 7
ORDER BY Bestelling.Besteldatum , Inkoopregel.Afleverdatum

Werkt het met top 100% niet ? Nee, niet getest.
Pagina: 1