webForumDet fria alternativet

Splittad kolumn vill bli ihopsatt igen

Databaser & SQLur Databashanterare & SQL

4 svar · 243 visningar · startad av @nders

Medlem sedan juni 200032 969 inlägg
Frågan#1

På grund av en bugg i en programvara har jag en massa data i en tabell, där ett fält i posterna har splittats. Jag ska alltså egentligen ha en post, men nu råkar det vara flera. Jag skulle vilja, att i en SELECT-fråga, få tillbaka en post, med alla fält som är lika, och det splittade fältet ihopsatt igen, gärna med komma-space emellan, för det är där splitten är gjord. Exemplifiering av datat:

Fält1             Fält2             Fält3
-----------------------------------------------------------
0001              AAA1              En bäver
0001              AAA1              en skunk
0001              AAA1              en tvättbjörn

Detta skulle jag vilja få ut av en SQL-fråga:

Fält1             Fält2             Fält3
-----------------------------------------------------------
0001              AAA1              En bäver, en skunk, en tvättbjörn

Någon med idé? Jag skulle alltså vilja ha något som SUM() ungefär, men som istället för att summera talfält, konkatenerar varcharfält.

DBMS: SQL Server 7.0

Med hoppfullhet och tpf,

Medlem sedan dec. 200012 464 inlägg
#2

Om du hade haft version 8 så hade du kunnat skriva en funktion som ordnade det. Nu ser jag inget annat än att hantera det i applikationen.

Om det bara gäller för ett värde på f1 och f2 så går det med

declare @fauna varchar(200)
select @fauna = coalesce(@fauna + ',','') + f3
   from t  
  where f1 = 1
      and f2 = 'AAA1'
select @fauna
Medlem sedan juni 200032 969 inlägg
#3

Jag anade att det var så det låg till.

Jag får se till att skriva om applikationen som lagrar datat, och även den som hämtar ut.

Tack för svaret.

(Det här är för övrigt första frågan för mig i SQL-forumet också, tror jag ;) )

Mvh,

Medlem sedan feb. 20011 498 inlägg
#4

@nders skrev:

Det här är för övrigt första frågan för mig i SQL-forumet också, tror jag ;)

Du hade skrivit en tråd i SQL-forumet innan:
http://www.webforum.nu/showthread.php?s=&threadid=20964

Medlem sedan juni 200032 969 inlägg
#5

Vi kör för övrigt fortfarande SQL Server 7 på våra databasservrar i Oslo, men installation av SQL Server 2000 är nära förestående.

Dåså; två frågor, ingen lösning. :e

133 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)