[SQL] Query slaat order by over onder Office XP*

Pagina: 1
Acties:

  • The Dutch Dude
  • Registratie: Juli 2002
  • Laatst online: 10-08 12:57
terwijl hij een programma van me aan het testen was kwam een vriend van me iets vaags tegen. Het kwam erop neer dat de volgende query de order by oversloeg en dus gewoon willekeurige resultaten uitpoepte:
code:
1
2
3
SELECT *
 FROM tblWedstrijden
 ORDER BY YEAR(Wedstrijd_datum), MONTH(Wedstrijd_Datum), Wedstrijd_Datum;

Hij gebruikt Office XP en alle andere testers 2000. Alle anderen hadden er geen last van. Hoe kan dit? Heeft iemand enig id? Dit is dus met Visual Basic 6.0, een databeest gemaakt in Access 2000 en het querygeweld loopt via ADO.

Overmatig computergebruik heeft mijn fantasie gedood, dus ben ik niet in staat een interessante tekst hierneer te zetten.


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Er zitten enkele bugs in onder andere de Jet 4.0 en de MDAC 2.7
Misschien zou die vriend van je eens moeten proberen wat er gebeurt als hij van de Microsoft Data Access Download pagina de laatste versie van deze twee zaken downloadt en installeert.

My personal website


  • whoami
  • Registratie: December 2000
  • Laatst online: 01:57
Volgens mij kan je enkel een ORDER BY doen op kolommen die je ook in je select list staan hebt.
Dus:
code:
1
2
3
select month(wedstrijd_datum) as wmaand, year(wedstrijddatum) as wjaar
from tblWedstrijden
order by wmaand, wjaar

zou volgens mij wel perfect moeten werken.

dit heeft trouwens niets met VB6 te maken; ff de titel gemod dus.

[ Voor 13% gewijzigd door whoami op 15-07-2003 15:41 ]

https://fgheysels.github.io/


  • The Dutch Dude
  • Registratie: Juli 2002
  • Laatst online: 10-08 12:57
Op alle andere systemen werkt het prima en ik heb ff een SQL boek erop nageslagen en ik kan er niets over vinden dat ze expliciet in de select moeten staan. Achter dat * schuilt namelijk ook al het veld Wedstrijd_datum. Ik denk dat je de Group en Order by door elkaar haalt, maar dat kan ook aan mij liggen.
Nu is hij er ff niet, maar ik zal hem vragen om zijn MDAC en Jet te upgraden. Thx beiden, ik zal vertellen hoe het afloopt.

Overmatig computergebruik heeft mijn fantasie gedood, dus ben ik niet in staat een interessante tekst hierneer te zetten.


  • jvdmeer
  • Registratie: April 2000
  • Laatst online: 00:17
Kan je de query niet gewoon herschrijven als:
SQL:
1
2
3
SELECT *
 FROM tblWedstrijden
 ORDER BY Wedstrijd_datum;


Ervan uitgaande natuurlijk dat wedstrijddatum een datumveld is (anders zou YEAR() en MONTH() ook niet werken).