Toon posts:

[MySQL] LIKE werkt niet bij het vergelijken van kolommen

Pagina: 1
Acties:
  • 52 views sinds 30-01-2008

Verwijderd

Topicstarter
ik wil zoiets doen:
SELECT table1.id, table1.naam, table2.naam
FROM table1, table2
WHERE table2.naam LIKE table1.naam

Maar MySQL behandelt die LIKE gewoon als een =

De reden waarom ik dit wil (laat ik jullie voorzijn) is dat ik met een database van iemand anders aan het klooien ben. En er is nogal slordig ingevoerd en ook veel dubbele data, die ik nu middels een id wil koppelen, zodat ik de overbodig kolommen er uit kan gooien. Maar omdat er dus zo slordig is ingevoerd kan ik de kolommen niet zomaar zonder meer vergelijken. In dit geval is er bij table2.naam iedere keer iets achter de naam gezet en ik hoopte dus dmv die LIKE toch een match te kunnen krijgen. Echter, hij geeft alleen exacte matches terug.
Doe ik gewoon iets stoms? Kan het niet anders? Of is er toch een mogelijkheid dit voor elkaar te krijgen

  • rool
  • Registratie: Juli 2002
  • Laatst online: 17:39

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ach, echt stom is het niet.

Maar het kan gewoon niet :)
Kolomnamen MOETEN van te voren gedefinieerd zijn voor de query uitgevoerd wordt, misschien dat mysql nog iets met zijn concat kan doen, maar eerlijk gezegd hoop ik van niet.

Je kan het wellicht beter dmv een script in php/perl/whatever gelijktrekken daar kan je dynamisch je queries opbouwen en dan kwa namen gelijk trekken.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Trouwens, als je een LIKE gebruikt, moet je ook nog een wildcard-charachter gaan gebruiken:

code:
1
WHERE kolom LIKE 'blaa%'

(Geeft alle records waarvan kolom begint met blaa)

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ja, dat weet ik, maar daar gaf mysql een error op..... (als je dat met kolommen doet..wat dus niet kan ...)

ik heb het nu met 2 loopjes in PHP opgelost. in iedergeval bedankt

  • cameodski
  • Registratie: Augustus 2002
  • Laatst online: 06-11-2023
Als je twee kolommen mbv wildcard met elkaar wilt vergelijken, zul je ergens een '%'-teken bij op moeten tellen. Je query zou er dan bijvoorbeeld als volgt uit gaan zien:

SELECT table1.id, table1.naam, table2.naam
FROM table1, table2
WHERE table2.naam LIKE table1.naam + '%'

Never underestimate the power of


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
cameodski schreef op 03 september 2002 @ 13:48:
Als je twee kolommen mbv wildcard met elkaar wilt vergelijken, zul je ergens een '%'-teken bij op moeten tellen. Je query zou er dan bijvoorbeeld als volgt uit gaan zien:

SELECT table1.id, table1.naam, table2.naam
FROM table1, table2
WHERE table2.naam LIKE table1.naam + '%'


Lees de draad voor je blaat enzo.... ;)

Dit is al gezegd en blijkbaar wist de TS dat ook wel. Het probleem lag ergens anders (zie ACM).

https://fgheysels.github.io/


  • cameodski
  • Registratie: Augustus 2002
  • Laatst online: 06-11-2023
whoami schreef op 03 september 2002 @ 13:53:

Lees de draad voor je blaat enzo.... ;)

Dit is al gezegd en blijkbaar wist de TS dat ook wel. Het probleem lag ergens anders (zie ACM).
Denk je soms dat ik stom ben? Natuurlijk lees ik de draad!
Het feit dat je moderator bent, wilt nog niet zeggen dat je kinderjuffrouw moet gaan spelen. :( :(

Vond de geplaatste opmerkingen alleen niet bepaald duidelijk, dus leek een aanvulling me zinvol. Onder andere met het oog op anderen die naar dit onderwerp kijken.

Never underestimate the power of


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
cameodski schreef op 03 september 2002 @ 15:02:
[...]

Denk je soms dat ik stom ben? Natuurlijk lees ik de draad!
Het feit dat je moderator bent, wilt nog niet zeggen dat je kinderjuffrouw moet gaan spelen. :( :(

Vond de geplaatste opmerkingen alleen niet bepaald duidelijk, dus leek een aanvulling me zinvol. Onder andere met het oog op anderen die naar dit onderwerp kijken.


Wow, je moet niet zo snel op je pik getrapt zijn he. :(
Kijk eens naar de smiley die er naast staat.

https://fgheysels.github.io/


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

ik trap mee op pikkies
het was een vriendelijke constatering hoor

Doet iets met Cloud (MS/IBM)

Pagina: 1

Dit topic is gesloten.