Avatar billede Kim Neesgaard Seniormester
17. juni 2008 - 12:13 Der er 6 kommentarer og
1 løsning

Slå flere felter sammen til en AS

Jeg har en tabel (Tabel1), der fx. indeholder fire kolonnner: F1, F2, F3 og F4.

Man kan jo så sige:

SELECT F1 AS X FROM Tabel1

men hvis man gerne vil slå 3 af felterne sammen, hvordan kan man gøre det? Jeg har set i Google, at man skal gøre sådan:

SELECT X(F1 || F2 || F3) FROM Tabel1

men det kan jeg ikke få til at virke.
Avatar billede pierrehusted Nybegynder
17. juni 2008 - 12:30 #1
Prøv med det her:

SELECT f1 + ' ' + f2 AS samlet FROM Tabel1

(Eller eventuelt uden mellemrum imellem - hvis der ikke skal være det.)
Avatar billede Kim Neesgaard Seniormester
17. juni 2008 - 13:11 #2
Jeg indlæste resultatet af forespørgslen i en SqlDataReader og den gav tomt resultat. Så prøvede jeg forespørgslen i en direkte query og så gav den en COLLATE fejl, så hvis jeg skriver

SELECT f1 + ' ' + f2 COLLATE database_default AS samlet FROM Tabel1

så virker det smukt! Tak!
Avatar billede Kim Neesgaard Seniormester
17. juni 2008 - 13:21 #3
Lige et tillægsspørgsmål: Hvis F1 er en tekst og F2 er en integer, så brokker den sig - hvordan kan man ordne det?
Avatar billede pierrehusted Nybegynder
17. juni 2008 - 13:33 #4
SELECT f1 + ' ' + convert(varchar, f2) AS samlet FROM Tabel1
Avatar billede Kim Neesgaard Seniormester
18. juni 2008 - 09:47 #5
Når jeg sætter convert(varchar, f2) på, så får jeg beskeden:

Implicit conversion of varchar value to varchar cannot be performed because the collation of the value is unresolved due to a collation conflict.

på trods af, at jeg allerede har COLLATE database_default angivet?

Kan du gennemskue det? Jeg ved slet ikke noget om COLLATE.
Avatar billede pierrehusted Nybegynder
18. juni 2008 - 11:21 #6
Vil tro det er fordi du har forskellig COLLATION på nogle af felterne i tabellen. Eller bare en anderledes end standard i databasen.

Det er svært at afgøre uden mere info om den tabel og database du arbejder i.
Avatar billede Kim Neesgaard Seniormester
26. juni 2008 - 20:50 #7
Da jeg tilføjede det nye convertfelt, satte jeg stadig COLLATION tilsidst og det gav fejlen. COLLATION går pr. felt, så da jeg flyttede det til det oprindelige felt, så virker det perfekt!
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