[MySQL] Query op alle velden

Pagina: 1
Acties:

  • Isegrimm
  • Registratie: Juli 2000
  • Laatst online: 30-07 16:16

Isegrimm

Hallo, hoe is 't hier?

Topicstarter
Hoi, ik heb zitten zoeken maar heb niks kunnen vinden hierover dus dacht ik, laat ik er maar even een topic over openen...

Ik wil een search doen op een database, maar bij zoiets als
code:
1
SELECT name FROM database WHERE veld1,veld2 IS LIKE 'query'

kan je alleen op de velden zoeken die je in de query opgeeft.

Nu heb ik dus een database met *veel* velden. Is er een mogelijkheid om op simpelweg alle velden te zoeken zonder deze allemaal apart op te geven?

De database op zich is niet zo groot, dus het zal er niet veel trager van worden lijkt me, er zitten alleen veel velden in...

Aldus sprak ik.


  • Dido
  • Registratie: Maart 2002
  • Laatst online: 09:44

Dido

heforshe

Je zult echt al je velden moeten noemen. Maar, als ik vragen mag, waarom heb je zoveel velden warin je hetzelfde wilt zoeken, eigenlijk?

Wat betekent mijn avatar?


Verwijderd

Genereer je statements in een variabele en gebruik dynamic sql om ze uit te voeren of spool ze naar een file en voer ze dan uit. Redelijk simpel te doen hoor.

Verwijderd

Dido schreef op 14 mei 2003 @ 11:57:
Je zult echt al je velden moeten noemen. Maar, als ik vragen mag, waarom heb je zoveel velden warin je hetzelfde wilt zoeken, eigenlijk?
Kan me wel voorstellen dat je een profiel van iemand op een forum of site wilt doorzoeken naar 'verboden' woorden.
Tuurlijk kun je dit ook doen bij inserten, maar als je dit achteraf pas invoert.
Heb zelf ook hier mee gezeten namelijk

  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 17-08 13:41
Dan wil je nog steeds niet alle velden :) Beetje lullig als b.v. de password hash iets is als: 123bef123 en je gaat daarin cencureren ;) :P

  • Isegrimm
  • Registratie: Juli 2000
  • Laatst online: 30-07 16:16

Isegrimm

Hallo, hoe is 't hier?

Topicstarter
Dido schreef op 14 mei 2003 @ 11:57:
Je zult echt al je velden moeten noemen. Maar, als ik vragen mag, waarom heb je zoveel velden warin je hetzelfde wilt zoeken, eigenlijk?
Dat komt omdat ik een database heb waarin profielen van servers, netwerkcomponenten en dergelijke zijn opgenomen, en voor iedere eigenschap van zo'n ding heb ik een veld gemaakt. Denk hierbij aan dingen als proc_amount, proc_speed, mem, hd, hd_raid_config, nic_dplx, nic_speed, etc etc
Naja, en nu moet er gezocht kunnen worden op trefwoorden als 'Cisco', '2600', 'NT4', 'SP6a', '100mbit' en dat moet dus de server- of componentnamen resulteren die zo'n trefwoord in een van hun velden hebben staan.

Aldus sprak ik.


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

OkkE

CSS influencer :+

Denk dat het enigste wat je kan doen is, alle velden in een array zetten, en die dan weer in je SQL proppen... :? Dan hoef je iig niet steeds al je SQL querys aan te passen.

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


  • Isegrimm
  • Registratie: Juli 2000
  • Laatst online: 30-07 16:16

Isegrimm

Hallo, hoe is 't hier?

Topicstarter
Verwijderd schreef op 14 May 2003 @ 12:00:
Genereer je statements in een variabele en gebruik dynamic sql om ze uit te voeren of spool ze naar een file en voer ze dan uit. Redelijk simpel te doen hoor.
Hmm, kun je een voorbeeldje laten zien? Voor jou is het simpel maar ik vat 't nog niet helemaal ;)

Aldus sprak ik.


Verwijderd

je gaat met een script een select statement opbouwen vanuit de tabel definitie tabel.

for table in database loop
i := 1;
for column in table loop
if i = 1
then
a := column;
else
a := a || ',' || column;
end if;
i := i + 1;
end loop;
b := b || 'select ' || a || ' from ' || table || ';' || chr(13);
end loop;

Nu heb je dus een scriptje die alle kolom waardes uit alle tabellen uit leest.
Met dit voorbeeld kun je het script wel wat aanpassen om jouw where clause toe te voegen.

[ Voor 14% gewijzigd door Verwijderd op 14-05-2003 16:49 ]


Verwijderd

of eerst een query maken show fields from dbNaam, dan die velden in een komma gescheiden string zetten en die string aan je query toevoegen?
Pagina: 1