Avatar billede VDJ Nybegynder
08. juli 2011 - 11:11 Der er 4 kommentarer og
1 løsning

Joining af en stamdatatabel med to posteringstabeller i samme rapport

I Crystal Reports har jeg 3 tabeller. En stamdatatabel og en budgetpost-tabel og en forbrugspost-tabel. Jeg har brug for at opstille summen af budget ved siden af summen af forbrug på stamdataniveau.

Når jeg joiner tabellerne i Crystal Reports giver det problemer, når jeg tilføjer den sidste post-tabel. Der opstår tilsyneladende en mange til mange relation. Hvorudan undgår jeg det?
08. juli 2011 - 12:44 #1
Du kommer nok til at fortælle hvordan de tre tabeller er opbygget, altså for hver tabel hvilke felter der er og hvordan tabellerne hænger sammen (for eksempel at budgetpost tabellen og forbrugspost tabellen har et felt 'stam-id' som refererer til en række i stamdata tabellen).
Avatar billede VDJ Nybegynder
08. juli 2011 - 18:24 #2
Stamdata-tabellen har et projektnummer, som går igen i de to posteringstabeller. Hver gang, jeg har et projektnummer i stamdata-tabellen, skal den finde de tilhørende posteringer i de to posteringstabeller.
09. juli 2011 - 00:40 #3
Du er godt nok ikke særlig meddelsom.  Så jeg må gætte.  Jeg gætter på, at dine tre tabeller ser ud som følger, og jeg har indsat lidt data:

stamdatatabel
id navn
1  Jens
2  Hans

budgetposttabel
id konto beløb stamdataid
1  b1    125.10  1
2  b2    225.22  1
3  b3    512.22  2

forbrugsposttabel
id konto beløb stamdataid
1  f1    22.23  1
2  f2    33.44  2
3  f3    44.56  2

Hvis du så for hver person i stamdata tabellen vil have summen af deres budgetposter og summen af deres forbrugsposter, så skulle denne forespørgsel virke:

SELECT s.id, s.navn, (SELECT SUM(beløb) FROM budgettabel WHERE stamdataid = s.id GROUP BY stamdataid) AS budgetbeløb, (SELECT SUM(beløb) FROM forbrugtabel WHERE stamdataid = s.id GROUP BY stamdataid) AS forbrugbeløb FROM stamdatatabel s;

Hvis jeg har gættet forkert eller hvis problemet var et andet, så må du nok ud med sproget.
11. juli 2011 - 06:40 #4
VDJ, fik du mit indlæg?  Var det til nytte?  I så fald vil jeg bede dig acceptere svaret ('flueben' i firkanten 'Accepter dette svar' og klik på feltet 'Accepter svar og afgiv points'.)  Hvis det ikke var til hjælp og du ikke ønsker at forklare yderligere, eller hvis det i mellemtiden er lige meget, så skal du selv oprette et svar (indlæg med prik i Svar i stedet for Kommentar) og acceptere det.  Men lad mig under alle omstændigheder ikke blive hængende i et åbent spørgsmål.  Please.
Avatar billede VDJ Nybegynder
19. juli 2011 - 10:39 #5
Kære Christian

Så er jeg tilbage fra ferie. Jeg har nok ikke udtrykt mig præcist nok, for Crystal Reports kan ikke tage SQL-komandoer. Jeg skal sætte tabellerne sammen på den rigtige  måde, således at der ikke returneres en mange til mange relation mellem de to posteringstabeller. Jeg tror, at jeg er nødt til at have fat i en ekspert i Crystal Reports. Tak for indsatsen. Lukker sagen her.
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