[SQL] "overige" records vinden

Pagina: 1
Acties:

  • noot101
  • Registratie: Februari 2002
  • Laatst online: 10-01 13:54
Ik moet een lijst met namen laten zien waarbij ik deze alfabetisch selecteer. Hierbij is het de bedoeling dat als er op de A geklikt wordt alle namen beginnen met een A getoond worden. Dit werkt allemaal goed, maar ik heb ook een aantal namen die beginnen met een getal of een ander leesteken (@, # o.i.d.) Deze wil ik allemaal ik 1 "groep" laten zien.

Op dit moment maak ik gebruik van de volgende query (en php ervoor):
code:
1
2
3
4
if (empty($_GET['id'])) $offset="A";
    else $offset = $_GET['id'];

SELECT * FROM namen WHERE naam LIKE '".$offset."%' ORDER BY naam

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

Wat heb je zelf al geprobeerd ?
Je kan met OR natuurlijk een aantal LIKE statements combineren ....

  • noot101
  • Registratie: Februari 2002
  • Laatst online: 10-01 13:54
TheRookie schreef op vrijdag 19 mei 2006 @ 10:33:
Wat heb je zelf al geprobeerd ?
Je kan met OR natuurlijk een aantal LIKE statements combineren ....
Maar dan zou ik alle mogelijke leestekens en getallen daarin moeten verwerken. Is er geen makkelijkere en uniforme manier om dit te doen?

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Welk DBMS gebruik je? Je zou in je WHERE clause met SUBSTRING het 1e karakter kunnen checken , bijv.
code:
1
SELECT * FROM namen WHERE SUBSTRING(naam,1)  < 'A' OR SUBSTRING(naam,1)  > 'Z'

[ Voor 11% gewijzigd door pjonk op 19-05-2006 10:42 ]

It’s nice to be important but it’s more important to be nice


  • noot101
  • Registratie: Februari 2002
  • Laatst online: 10-01 13:54
pjonk schreef op vrijdag 19 mei 2006 @ 10:41:
Welk DBMS gebruik je? Je zou in je WHERE clause met SUBSTRING het 1e karakter kunnen checken , bijv.
code:
1
SELECT * FROM namen WHERE SUBSTRING(naam,1)  < 'A' OR SUBSTRING(naam,1)  > 'Z'
YES die werkt perfect!!
Bedankt, was eigenlijk nog simpeler dan gedacht. Je moet er maar even op komen

  • Thralas
  • Registratie: December 2002
  • Laatst online: 21-02 02:17
noot101 schreef op vrijdag 19 mei 2006 @ 10:31:
Op dit moment maak ik gebruik van de volgende query (en php ervoor):
code:
1
2
3
4
if (empty($_GET['id'])) $offset="A";
    else $offset = $_GET['id'];

SELECT * FROM namen WHERE naam LIKE '".$offset."%' ORDER BY naam
Ik weet natuurlijk niet wat er nog allemaal tussen die drie regels staat, maar als er alleen *sql_query om de query in regel 4 staat, bekijk dan even [google=SQL Injection]
Pagina: 1