Du kan godt samle felterne: select felt1+' '+ felt2 +' '+ felt3 from entabel
Hvis en af felterne inderholder NULL bliver hele resultatet NULL da den ikke kan lægge dem sammen. Måske kan der gøres noget med cast eller convert hvis du har NULL værdier.
Du kan godt gøre det, hvis du f.eks. ved at der altid er max tre rækker med samme felt1-værdi. Så burde det kunne løses med en række subqueries og noget streng-konkatenering.
Det ser ud til du har en index værdi i felt 2. Hvis du kun har et par (2-3) records der skal sammensættes, kan du bare gøre følgende (Jeg antager her der er netop 3 records pr. felt1):
SELECT felt1,(A.felt3+' '+B.felt3+' '+C.felt3) AS myresult FROM mytable A LEFT JOIN mytable B ON A.felt1=B.felt1 LEFT JOIN mytable C ON A.felt1=C.felt1 WHERE A.felt2 = 1 AND B.felt2 = 2 AND C.felt2 = 3
Hvis du har et variabelt antal tekstlinjer (>3) pr. vare er det nok bedst at pakke det ind i en stored procedure, der bygger teksten op i en løkke, hvor du for hver felt1 - i rækkefølgen felt2 concatenerer felt3 til en resultatstreng. Bruger du en procedure er du heller ikke begrænset af et bestemt antal linjer.
Excel og Query er ikke min stærke side, men jeg prøvede lige at sætte min forespørgsel índ i Query og det virkede godt nok for mig. Men det giver jo kun teksten for én vare og du vil sikkert gerne have flere, dynamisk efter hvor mange varer der er osv. Det bedste jeg lige kan komme på er en stored procedure, der returnerer alle varer med den samlede tekst, men jeg ved jo ikke om det er det du vil have.
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.