Juiste SQL Query

Status
Niet open voor verdere reacties.

justinos

Gebruiker
Lid geworden
12 nov 2004
Berichten
199
Hallo allemaal,

Ik zit al een tijdje te prutsen met het volgende probleem.

Ik heb een tabel genaamd 'overzicht' en een tabel genaamd 'cities'.
In de tabel overzicht staan o.a. de volgende rijen: plaats, lat en lng.

De tabel cities bevat ook een plaats, lat en lng.

Wat ik nu wil, is dat de tabel 'overzicht' de juiste lat en lng waardes krijgt uit de tabel 'cities', waar de plaatsnamen gelijk zijn. Dat is mij gelukt met de volgende query:

[SQL]UPDATE overzicht, cities
SET overzicht.lat=cities.lat
WHERE cities.plaats=overzicht.plaats[/SQL]

Het probleem is nu dat er in het tabel 'overzicht', ook de provincie tussen haakjes bij staan, dus bijvoorbeeld: "Haarlem (NH)", de query werkt dus niet meer want Haarlem en Haarlem (NH) zijn geen gelijke waardes.

Ik zal dus moeten werken met LIKE.. maar helaas kom ik er met onderstaande query niet:

[SQL]UPDATE overzicht, cities
SET overzicht.lat=cities.lat
WHERE cities.plaats LIKE '%overzicht.plaats%'[/SQL]

Ik begrijp dat bovenstaande niet werkt, omdat overzicht.plaats niet tussen haakjes zou moeten staan.. maar zonder de haakjes kan ik de % niet gebruiken. Hoe los ik dit op?

Kan iemand mij helpen waarom dit niet lukt, hoe het we kan lukken, of eventueel doorsturen naar een internetpagina waar ik de oplossing vandaan kan halen? Zelf google'en resulteerde helaas niet tot een antwoord.

Dank alvast!
 
Laatst bewerkt:
Volgensmij is LIKE daar niet voor bedoeld...

Ik denk dat je tegen een Regexp zit aan te kijken.

Of beter nog; een betere manier van opslaan. Want "Haarlem (NH)" hoort natuurlijk niet op die manier opgeslagen te worden.
 
Volgensmij is LIKE daar niet voor bedoeld...

Ik denk dat je tegen een Regexp zit aan te kijken.

Of beter nog; een betere manier van opslaan. Want "Haarlem (NH)" hoort natuurlijk niet op die manier opgeslagen te worden.


Ik heb de database zo aangeleverd gekregen, met de provincies eraan vast. Het zijn namelijk ingescande lijsten. Ik zal mijn hoofd er is over wagen hoe ik de provincienamen eruit krijg.

Ga mij nu eerst even focussen op de Regexp, dank en mocht ik er niet uitkomen laat ik het weten :)
 
Het is gelukt. Ik heb door middel van een query de provincienamen uit de plaatsnamen verwijderd. Dank voor jullie hulp.
 
Alléén met een query? Dat trucje wil ik ook wel leren want ik wist niet dat je met sql een zoek/vervang opdracht kon doen waarbij slechts een deel van een varchar veld wordt aangepast.
 
Alléén met een query? Dat trucje wil ik ook wel leren want ik wist niet dat je met sql een zoek/vervang opdracht kon doen waarbij slechts een deel van een varchar veld wordt aangepast.

dat wist ik ook niet :p

[SQL]UPDATE overzicht SET plaats = Replace(plaats,'(N.H.)','')[/SQL]

hier vervang ik dus de tekst (N.H.) in niets, of een spatie. Moet dus wel een preciese tekst opgeven die vervangen moet worden. Wellicht dat er andere mogelijkheden zijn maar dit werkt in ieder geval voor mij :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan