Avatar billede dotnet_cowboy Nybegynder
10. oktober 2005 - 13:52 Der er 1 kommentar og
1 løsning

Kopiere data fra et felt til flere

Hej med jer...

Jeg har før oprettet et indlæg med samme problem stilling.

Mit problem nu er bare at jeg ikke kan få den SQL Statement til at virke når jeg selv prøver at tilføje nogle nye case when.

Her er min gamle statement:

UPDATE products
SET firstname = CASE WHEN CHARINDEX(',',artist)=0 THEN LEFT(artist, CHARINDEX(' ',artist) - 1) ELSE RIGHT(artist, LEN(artist) - CHARINDEX(' ',artist)) END,
    lastname = CASE WHEN CHARINDEX(',',artist)=0 THEN RIGHT(artist, LEN(artist) - CHARINDEX(' ',artist)) ELSE LEFT(artist, CHARINDEX(',',artist) - 1) END
go

Som det er nu så kopiere den fra feltet artist og over i firstname og lastname felterne. Nu skal der bare tilføjes et felt der hedder Band.

Der skal så heldes data over hvis der i et artist felt indgår et & tegn eller et - tegn.

F.eks.
---------------------
Gamle felt eksempel:
---------------------
      Artist
Larsen, Kim - & Kjukken
diefenbach & Sierpinski
Dylan, Bob
D.A.D. - Jesper Binzer

---------------------
Skal blive til:
---------------------
Firstname    lastname        band
Kim          Larsen          & Kjukken
                              diefenbach & Sierpinski
Bob          Dylan
Jesper        Binzer          D.A.D.

--------------------------------------------

Håber at høre fra nogen hurtisgt muligt!

Mvh

DC
Avatar billede ldanielsen Nybegynder
10. oktober 2005 - 14:08 #1
Du får svært ved det udfra de givne eksempler. I Larsen, Kim - & Kjukken står bandnavnet til sidst, i D.A.D. - Jesper Binzer står det først.

Men jeg ville lave det i to omgange, i stedet for at prøve at koble det sammen.

Som jeg ser det bliver der fejl i resultatet, så jeg tror du skal lave rettelserne manuelt. Det tager jo nogle timer, men du kan benytte tiden til at filosofere over fordelene ved at lave et godt databasedesign fra starten :o)

Du har vel en brugerflade til indtastning/rettelse, og den kan du bruge.

Men jeg vil råde dig til at lave en særskilt tabel med bands. Alle indtastede bands vil så kunne listes i en dropdown, og man kan vælge det rigtige. Du skal naturligvis også lave en mulighed for at tilføje et nyt bandnavn. I tabellen products kan du så nøjes med at gemme et felt med BandID
Avatar billede dotnet_cowboy Nybegynder
10. oktober 2005 - 14:17 #2
Ja du siger noget....

:-)

Jeg har fået stukket databasen i hånden, så det er desværre ikke mig selv som har fra starten har designet dba'en.

Takker for inspirationen.

;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester