/ 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
Hjælp til sql forespørgsel
Fra : Torben Jensen


Dato : 02-10-03 11:10

Hej NG!

Jeg har en tabel med to kolonner - "brugernavn" og "kontonr".

Brugernavnet er kontonr+initialer, eksempelvis 12345tj. For at sikre at der
overensstemmelse mellem det kontonr der indgår i brugernavn og det reelle
konto ønsker ejg at lave en kontrol i databasen hvor jeg udvælger alt fra
kontonr og kontrollerer om der er forekomster hvor dette ikke indgår i
brugernavn.

Jeg ved ikke om det står helt klart hvad jeg ønsker, så sagt på en anden
måde ønsker jeg for hver post i tabellen at kontrollere om det valgte
kontonr indgår i brugernavnet for den samme post - dvs en sammenligning af
to kolonner.

Kan nogen hjælpe mig med det?

På forhånd tak
M.v.h.
Torben Jensen



 
 
Troels Arvin (02-10-2003)
Kommentar
Fra : Troels Arvin


Dato : 02-10-03 11:16

On Thu, 02 Oct 2003 12:10:20 +0200, Torben Jensen wrote:

> Jeg har en tabel med to kolonner - "brugernavn" og "kontonr".
>
> Brugernavnet er kontonr+initialer, eksempelvis 12345tj.

Du bryder første normalform og introducerer samtidig redundans - endda
tilsyneladende uden god grund. Hvorfor har du ikke bare følgende
kolonner: initial, kontonr. Så kan du samle dem med konkatenering efter
behov, fx. i et view.

> måde ønsker jeg for hver post i tabellen at kontrollere om det valgte
> kontonr indgår i brugernavnet for den samme post - dvs en sammenligning af
> to kolonner.

Hvis du vil fastholde dit design, må du ud i noget gris med
triggers (evt. i form af CHECK-contraints), og du bliver da nødt til at
fortælle hvilket DBMS-system, du benytter.

--
Greetings from Troels Arvin, Copenhagen, Denmark


Kristian Damm Jensen (02-10-2003)
Kommentar
Fra : Kristian Damm Jensen


Dato : 02-10-03 12:29

"Torben Jensen" <no@spam.dk> skrev i en meddelelse
news:3f7bf901$0$54764$edfadb0f@dread11.news.tele.dk...
> Hej NG!
>
> Jeg har en tabel med to kolonner - "brugernavn" og "kontonr".
>
> Brugernavnet er kontonr+initialer, eksempelvis 12345tj. For at sikre at
der
> overensstemmelse mellem det kontonr der indgår i brugernavn og det reelle
> konto ønsker ejg at lave en kontrol i databasen hvor jeg udvælger alt fra
> kontonr og kontrollerer om der er forekomster hvor dette ikke indgår i
> brugernavn.
>
> Jeg ved ikke om det står helt klart hvad jeg ønsker, så sagt på en anden
> måde ønsker jeg for hver post i tabellen at kontrollere om det valgte
> kontonr indgår i brugernavnet for den samme post - dvs en sammenligning af
> to kolonner.

Følgende vil give dig en liste over poster, der ikke overholder kravet.

select *
from tabel
where brugernavn like kontonr+"%"

idet jeg går ud fra, at dit dbms benytter + til strengsammensætning.

I øvrigt er jeg enig med Troels: Det er noget gris.

> Kan nogen hjælpe mig med det?

Forhåbentlig


--
Kristian Damm Jensen
damm (at) ofir (dot) dk



Troels Arvin (02-10-2003)
Kommentar
Fra : Troels Arvin


Dato : 02-10-03 12:40

On Thu, 02 Oct 2003 13:29:26 +0200, Kristian Damm Jensen wrote:

> select *
> from tabel
> where brugernavn like kontonr+"%"
>
> idet jeg går ud fra, at dit dbms benytter + til strengsammensætning.

- Og at DBMSet også bryder standarden ved at benytte " som streng-literal
afgrænser

--
Greetings from Troels Arvin, Copenhagen, Denmark


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste