Toon posts:

[MySQL] Order by Quote als eerste karakter weglaten

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een tabel met bedrijven met daarin een plaatsnaam. Nu zitten er echter plaatsen in met namen als 's hertogenbosch etc. Bij het ordenen op plaats komen nu deze plaatsen als eerste naar voren. Ik wil echter dat deze plaatsen pas bij de s of eventueel (in eht geval 's hertogenbosch) bij de h.

Iemand een idee hoe ik dit in mijn query op kan lossen ?

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
ordenen op die kolom naam waarbij je "'" vervang door "" ?

Verwijderd

Denk dat ie bedoelde (zoals er ook staat) hoe je dit in een Query kunt oplossen door middel van sorteren. Kweet niet of dit mogelijk is.

Je zou natuurlijk ook gewoon "Den Bosch" en "Den Haag" in je DB kunnen zetten ;)

[ Voor 24% gewijzigd door Verwijderd op 10-11-2004 11:02 ]


  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

Ik weet niet of het mogelijk is om te sorteren op een substring, dat zou misschien wel kunnen. Alleen heb je dan als nog het probleem dat je de substring elke keer anders zou moeten kunnen doen...

Geen idee hoeveel plaatsnamen er al in staan, maar het is misschien een idee om een tweede veld te maken in je database met daarin de plaatsen zonder de komma-s enzo. En dan daar op sorteren. :)

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Inderdaad, een tweede veld met plaatsnaam_voorvoegsel, zodat plaatsnaam dingen bevat als "Hertogenbosch" en plaatsnaam_voorvoegsel dingen bevat als "'s".

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

Ik denk dat het te doen is om de replace functie die in MySQL ingebakken zit te gebruiken om "'s" vooraan te verwijderen, maar dat betekent dat die 's ook in de resultset weg is, tenzij je twee naamvelden opvraagt:
code:
1
2
3
4
SELECT naam, REPLACE("'s", "", naam) AS sorteerveld
FROM plaatsen
WHERE blaat
ORDER BY sorteerveld

Pseudoquery. Heb me niet echt verdiept in de werking van replace.

'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.


  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

NMe84 schreef op 10 november 2004 @ 11:15:
Ik denk dat het te doen is om de replace functie die in MySQL ingebakken zit te gebruiken om "'s" vooraan te verwijderen, maar dat betekent dat die 's ook in de resultset weg is, tenzij je twee naamvelden opvraagt:
code:
1
2
3
4
SELECT naam, REPLACE("'s", "", naam) AS sorteerveld
FROM plaatsen
WHERE blaat
ORDER BY sorteerveld

Pseudoquery. Heb me niet echt verdiept in de werking van replace.
Ga je dan niet problemen krijgen met plaatsnamen die een ander voorvoegsel hebben als " 's " waarbij je niet op die voorvoegsel wilt sorteren?

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Verwijderd

NMe84 schreef op 10 november 2004 @ 11:15:
Ik denk dat het te doen is om de replace functie die in MySQL ingebakken zit te gebruiken om "'s" vooraan te verwijderen, maar dat betekent dat die 's ook in de resultset weg is, tenzij je twee naamvelden opvraagt:
code:
1
2
3
4
SELECT naam, REPLACE("'s", "", naam) AS sorteerveld
FROM plaatsen
WHERE blaat
ORDER BY sorteerveld

Pseudoquery. Heb me niet echt verdiept in de werking van replace.
Dat werkt inderdaad wel, ik zou alleen dan zo doen:

REPLACE(naam, "'s", "") AS sorteerveld

;)
Pagina: 1