---
title: "Loopa ut data i två dimensioner"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/165311-loopa-ut-data-i-två-dimensioner"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "devotion"
published: "2007-10-10T06:46:01.000Z"
updated: "2007-10-11T08:46:32.000Z"
replies: 2
views: 493
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/165311-loopa-ut-data-i-två-dimensioner"
---

# Loopa ut data i två dimensioner

## #1 — devotion, 2007-10-10T06:46Z

Hej!

Har lite funderingar.. ;) 

Jag har två tabeller som relaterar till varandra. Den ena är tbAvtal och den andra är tblAvtalsUppdrag.

Jag vill loopa ut avtalen från tbAvtasuppdrag vertikalt som en lång lista.

Sen vill jag lägga alla uppdrag som hör till avtalen horisontellt från varje avtal i rätt månad.

Det ska bli som en årsplanering i excel. Dvs avtalen på y-axeln och de kopplade uppdragen på x-axeln.

Rubrikerna ska vara AVTAL - JAN - FEB - MARS ... osv

Hur ska jag lösa detta på bästa sätt...

I nuläget så hämtas avtalen med en databasfråga i varje "cell" och det blir inte så bra prestandamässigt...

Vilka tekniker finns det?

Mvh
Henrik

Permalänk: https://www.webforum.nu/p/165311

## #2 — devotion, 2007-10-10T20:46Z

Ingen som har några idéer?

Mvh
Henrik

Permalänk: https://www.webforum.nu/p/2037879

## #3 — spango, 2007-10-11T08:46Z

Tja, typ nåt sånt här? 

```
records = [I]SELECT * FROM tblAvtal a JOIN tblAvtalsUppdrag au ON a.Id = au.AvtalsId ORDER BY a.Id, au.Månad[/I]
previousId = "invalid"
firstRow = true
print "<table>"
foreach record in records do
    if not (record["a.Id"] == previousId) then [I]# nytt avtal, påbörja ny rad[/I]
        if firstRow then [I]#första raden[/I]
            print "<tr>"
            firstRow = false
        else [I]# inte första raden - avsluta föregående rad också[/I]
            print "</tr><tr>"
        end
    end
    print "<td>"
    print record [I]# skriv ut avtalsuppdraget[/I]
    print "</td>"
end
if not firstRow then 
    print "</tr>"
end
print "</table>"
```

Poängen är alltså att du hämtar alla poster sorterade (i första hand) på avtals-ID. Alltså vet vi då att alla avtalsuppdrag för ett avtal hamnar bredvid varandra i resultatet. Du kommer antagligen få behöva fippla lite med det här beroende på hur innehållet i databasen ser ut.

Permalänk: https://www.webforum.nu/p/2037970

---

Tråden på webben: https://www.webforum.nu/amne/asp/165311-loopa-ut-data-i-två-dimensioner
