10. oktober 2005 - 13:52Der 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.
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
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.
;-)
Synes godt om
Ny brugerNybegynder
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.