/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Sammenlign 2 tabeller i MySql
Fra : Carsten


Dato : 16-05-09 13:52

Jeg har 2 tabeller med adresser i.
Jeg vil gerne lave en stored procedure som kan gennemse hver record i
den ene tabel og se om adresserne er i den anden, hvis ikke så gemme
den adresse der mangler i en tredje tabel

Er der nogle der har et par fif til hvordan man gør det smart.
Carsten

 
 
Peter Lykkegaard (16-05-2009)
Kommentar
Fra : Peter Lykkegaard


Dato : 16-05-09 07:09

Carsten

> Er der nogle der har et par fif til hvordan man gør det smart.

Er det noget der skal laves løbende eller bare een gang?

- Peter

Carsten (18-05-2009)
Kommentar
Fra : Carsten


Dato : 18-05-09 09:16

Peter Lykkegaard wrote:
> Carsten
>
>> Er der nogle der har et par fif til hvordan man gør det smart.
>
> Er det noget der skal laves løbende eller bare een gang?
>
> - Peter
Det skal laves med faste intervaller.

Carsten

Arne Vajhøj (16-05-2009)
Kommentar
Fra : Arne Vajhøj


Dato : 16-05-09 22:32

Carsten wrote:
> Jeg har 2 tabeller med adresser i.
> Jeg vil gerne lave en stored procedure som kan gennemse hver record i
> den ene tabel og se om adresserne er i den anden, hvis ikke så gemme
> den adresse der mangler i en tredje tabel
>
> Er der nogle der har et par fif til hvordan man gør det smart.

Hvad med noget lignende:

INSERT INTO tabel3
SELECT *
FROM tabel1
WHERE CONCAT(vej,nr,postnr) NOT IN(SELECT CONCAT(vej,nr,postnr) FROM tabel2)

Arne

Carsten (18-05-2009)
Kommentar
Fra : Carsten


Dato : 18-05-09 09:15

Arne Vajhøj wrote:
> Carsten wrote:
>> Jeg har 2 tabeller med adresser i.
>> Jeg vil gerne lave en stored procedure som kan gennemse hver record i
>> den ene tabel og se om adresserne er i den anden, hvis ikke så gemme
>> den adresse der mangler i en tredje tabel
>>
>> Er der nogle der har et par fif til hvordan man gør det smart.
>
> Hvad med noget lignende:
>
> INSERT INTO tabel3
> SELECT *
> FROM tabel1
> WHERE CONCAT(vej,nr,postnr) NOT IN(SELECT CONCAT(vej,nr,postnr) FROM
> tabel2)
>
> Arne
Det prøver jeg. Foreløbig tak

Carsten

Carsten (20-05-2009)
Kommentar
Fra : Carsten


Dato : 20-05-09 11:43

>> Arne
> Det prøver jeg. Foreløbig tak
Det virker fint.
Nu har jeg det problem at nogle felter som burde være ens, har et ekstra
mellemrum i slutningen af strengen.
Er der en måde hvor på man enten kan fjerne overflødige mellem (før og
efter) eller ignorer dem ved sammenligning.

Carsten

Leif Neland (21-05-2009)
Kommentar
Fra : Leif Neland


Dato : 21-05-09 10:05

Carsten skrev:
>>> Arne
>> Det prøver jeg. Foreløbig tak
> Det virker fint.
> Nu har jeg det problem at nogle felter som burde være ens, har et ekstra
> mellemrum i slutningen af strengen.
> Er der en måde hvor på man enten kan fjerne overflødige mellem (før og
> efter) eller ignorer dem ved sammenligning.
>
Update tabel set felt=trim(felt),felt2=trim(felt2)...

Leif

Carsten (22-05-2009)
Kommentar
Fra : Carsten


Dato : 22-05-09 18:54

Leif Neland wrote:
> Carsten skrev:
>>>> Arne
>>> Det prøver jeg. Foreløbig tak
>> Det virker fint.
>> Nu har jeg det problem at nogle felter som burde være ens, har et
>> ekstra mellemrum i slutningen af strengen.
>> Er der en måde hvor på man enten kan fjerne overflødige mellem (før og
>> efter) eller ignorer dem ved sammenligning.
>>
> Update tabel set felt=trim(felt),felt2=trim(felt2)...
Virker fint
Tak for det
Carsten

Arne Vajhøj (22-05-2009)
Kommentar
Fra : Arne Vajhøj


Dato : 22-05-09 01:31

Carsten wrote:
>>> Arne
>> Det prøver jeg. Foreløbig tak
> Det virker fint.
> Nu har jeg det problem at nogle felter som burde være ens, har et ekstra
> mellemrum i slutningen af strengen.
> Er der en måde hvor på man enten kan fjerne overflødige mellem (før og
> efter) eller ignorer dem ved sammenligning.

Hvis feltet er CHAR eller (feltet er VARCHAR og MySQL version < 5), så
skulle MySQL ignorere trailing spaces.

Hvis feltet er VARCHAR og MySQL version >= 5, så skal du selv gøre
noget.

I.s.f. felt kan du bruge RTRIM(felt).

Arne

Søg
Reklame
Statistik
Spørgsmål : 177419
Tips : 31962
Nyheder : 719565
Indlæg : 6407871
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste