[SQL Statement] Zoeken in alle velden naar gedeelte woord

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

  • Schonhose
  • Registratie: April 2000
  • Laatst online: 30-07 21:51

Schonhose

Retro Icoon

Topicstarter
Ik wil graag met een SQL statement zoeken in alle tabellen (en in alle velden hiervan) naar een gedeelte van een woord.

De bedoeling is dat deze zoekroutine wordt toegepast in een VB programma.

Nu heb ik zoiets als:

SQL:
1
2
3
SELECT *
FROM Miscellaneous
WHERE Category ='Math';


Maar deze zoekt alleen in de Category naar het woord en dan ook nog naar een exacte match.

Ik dacht slim te zijn door te zeggen

SQL:
1
2
3
SELECT *
FROM Miscellaneous
WHERE * LIKE '%Math%';


maar dit werkt niet. Om precies te zijn het gedeelte WHERE *

Andere suggesties?

(VB 6.0, openen van Database met ADO.)

[ Voor 20% gewijzigd door Schonhose op 08-05-2003 12:49 ]

"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005


  • Dope-E
  • Registratie: Januari 2001
  • Laatst online: 11-07 12:42

Dope-E

The one and only Dope

Ik denk dat je toch echt elk attribuut appart moet pakken, dus:

code:
1
2
3
4
5
6
SELECT *
FROM Miscellaneous
WHERE [attribuut_1] LIKE '%Math%'
OR [attribuut_2] LIKE '%Math%'
..
OR [attribuut_n] LIKE '%Math%'

Maar om dit echt goed te doen zou ik Fulltext indexing en search toepassen!
Watvoor db systeem gebruik je? SQL Server?

twitter.com/curly_sanders


  • Schonhose
  • Registratie: April 2000
  • Laatst online: 30-07 21:51

Schonhose

Retro Icoon

Topicstarter
Dope-E schreef op 08 May 2003 @ 12:48:

Watvoor db systeem gebruik je? SQL Server?
Access :+

Het is een programma om source code in op te slaan, dus een van de velden is een memo veld.

Ik wil graag een zoekterm invoeren die alle velden (inclusief het memo veld) doorzoekt of de term bestaat en de resultaten terug geeft in een listbox.

Is het trouwens niet sneller (en minder belastend voor de database) om een recordset te doorzoeken?

[ Voor 18% gewijzigd door Schonhose op 08-05-2003 12:53 ]

"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005


  • Dope-E
  • Registratie: Januari 2001
  • Laatst online: 11-07 12:42

Dope-E

The one and only Dope

Dan moet je het houden bij wat ik hiervoor heb neergezet.

twitter.com/curly_sanders


Verwijderd

Athos schreef op 08 May 2003 @ 12:51:
[...]


Access :+

Het is een programma om source code in op te slaan, dus een van de velden is een memo veld.

Ik wil graag een zoekterm invoeren die alle velden (inclusief het memo veld) doorzoekt of de term bestaat en de resultaten terug geeft in een listbox.

Is het trouwens niet sneller (en minder belastend voor de database) om een recordset te doorzoeken?
Sneller betwijfel ik, maar met een ander ontwerp kan het inderdaad sneller. Een idee is bijvoorbeeld om een lijst met woorden op te bouwen en die woorden te koppelen aan berichten. Je zoekt dan immers de woorden uit een lijst en krijgt daarna mooie integers terug om je juiste berichten te slecteren. Dat schelt al een hoop dubbel zoek werk.