[SQL/Access] Order By Regex?

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

Onderwerpen


Acties:
  • 0 Henk 'm!

  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 30-07 21:30
Ik heb een Access database, met daarin een tabel Klokken, in die tabel staan dit soort gegevens

klok_id klok_naam
6 Klok 1
7 Klok 2
8 Klok 10
9 Klok 11

Alleen, als ik nu 'select * from klokken order by klok_naam' doe, krijg ik

klok_naam
Klok 1
Klok 10
Klok 11
Klok 2

Maar dat is natuurlijk niet wat de klant wil, ik wil sorteren als 1, 2, 10, 11. Dus ik moet in mn order by statement de letters wegkrijgen. Nou krijg ik dat wel voor elkaar in .Net, maar ik wil het gewoon sorteren vanuit de query:

iets als select * from klokken order by regex(klok_naam, "^[0-9]"), iemand enig idee hoe dit kan. De database is een Access database.

Acties:
  • 0 Henk 'm!

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 13-07 07:14
Volgens mij moet je eerst het regex veld als select veld opnemen in je query en dan kan je er naar verwijzen in je order by clause:

SQL:
1
SELECT *, regex(klok_naam, "^[0-9]") AS klok_regex FROM klokken ORDER BY klok_regex

If I can't fix it, it ain't broken.


Acties:
  • 0 Henk 'm!

  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 30-07 21:30
Zit wat in, maar hoe verwerk ik regex's in de query.

regex(klok_naam, "^[0-9]") was namelijk een voorbeeld. Ik kom alleen maar voorbeelden tegen waar uit wordt gegaan vanuit VBA.

Acties:
  • 0 Henk 'm!

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 13-07 07:14
Dat is vast allemaal prima in de handleiding van Access terug te vinden, het is hier niet de bedoeling dat we alles voor je uitzoeken/oplossen. Een beetje eigen initiatief kan nooit kwaad..

If I can't fix it, it ain't broken.


Acties:
  • 0 Henk 'm!

  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 30-07 21:30
Borizz schreef op zaterdag 15 december 2007 @ 10:57:
Dat is vast allemaal prima in de handleiding van Access terug te vinden, het is hier niet de bedoeling dat we alles voor je uitzoeken/oplossen. Een beetje eigen initiatief kan nooit kwaad..
Ik ben hier vanaf half 9 vanochtend mee bezig.

En verder, Nee. MSDN geeft alleen maar onzin resultaten terug, en google is ook niet bepaald behulpzaam.

http://www.google.nl/sear...regexp+access+query&meta=
http://www.google.nl/sear...ressions+sql+access&meta=
http://www.google.nl/sear...ss+regexp+query+sql&meta=

Acties:
  • 0 Henk 'm!

  • Mawlana
  • Registratie: Juli 2002
  • Laatst online: 21:57
code:
1
SELECT * FROM Klokken ORDER BY Mid(klok_naam,5) ASC


Of denk ik nu krom?

Acties:
  • 0 Henk 'm!

  • PolarBear
  • Registratie: Februari 2001
  • Niet online
creator1988 schreef op zaterdag 15 december 2007 @ 10:23:
Zit wat in, maar hoe verwerk ik regex's in de query.

regex(klok_naam, "^[0-9]") was namelijk een voorbeeld. Ik kom alleen maar voorbeelden tegen waar uit wordt gegaan vanuit VBA.
VBA functie maken die de regexp doet? Wat dat betreft is Access vrij krachtig.
creator1988 schreef op zaterdag 15 december 2007 @ 11:08:
[...]


Ik ben hier vanaf half 9 vanochtend mee bezig.

En verder, Nee. MSDN geeft alleen maar onzin resultaten terug, en google is ook niet bepaald behulpzaam.

http://www.google.nl/sear...regexp+access+query&meta=
http://www.google.nl/sear...ressions+sql+access&meta=
http://www.google.nl/sear...ss+regexp+query+sql&meta=
Tja, de vraag is of je wel goed zoekt. Als je het bijvoorbaat met een regular expression wilt oplossen (wat Access volgens mij standaard niet ondersteund) dan wordt het moeilijk zoeken.

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
sylvesterrr schreef op zaterdag 15 december 2007 @ 14:22:
code:
1
SELECT * FROM Klokken ORDER BY Mid(klok_naam,5) ASC


Of denk ik nu krom?
Nee. En maak er maar meteen een update statement van zodat dat hele 'Klok ' niet meer in elk rij staat. :Y)

{signature}


Acties:
  • 0 Henk 'm!

  • Goodielover
  • Registratie: November 2001
  • Laatst online: 30-03 10:49

Goodielover

Only The Best is Good Enough.

of je tabeldefinitie aanpassen door kloknaam en klokvolgnr van elkaar te scheiden.
Pagina: 1