/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Summering i SQL
Fra : Ukendt


Dato : 10-05-08 20:52

Hej.

Jeg klokker igen i det mht. SQL - g ved faktisk ikke, om det kan lade sig
gøre.

Øvelsen er, at jeg skal bruge data fra 3 tabeller på en gang.

Jeg har følgende tabeller:

tblKonto
ID, pk
Budget

tblVareliste
ID, pk
Vare
Pris

tblPosteringer
ID, pk
KontoID, fk
VareID, fk
Antal

og jeg har brug for at hente følgende data og vise i en grid

KONTO, BUDGET, SAMLET PRIS, RESTBUDGET

eks.
tblKonto
ID Budget
1 1.000
2 10.000

tblVareliste
ID vare pris
1 Testvare 50
2 Eksempelvare 100

tblPosteringer
ID KontoID VareID antal
1 1 1 10
2 2 1 20
3 1 2 30
4 2 2 40
5 2 1 50

Ønsket data/grid
Konto budget samlet pris restbudget
1 1.000 3.500 -2.500
2 10.000 7.500 2.500



 
 
Kristian Damm Jensen (10-05-2008)
Kommentar
Fra : Kristian Damm Jensen


Dato : 10-05-08 23:03

Michael Sørensen wrote:
> Hej.
>
> Jeg klokker igen i det mht. SQL - g ved faktisk ikke, om det kan lade
> sig gøre.
>
> Øvelsen er, at jeg skal bruge data fra 3 tabeller på en gang.
>
> Jeg har følgende tabeller:
>
> tblKonto
> ID, pk
> Budget
>
> tblVareliste
> ID, pk
> Vare
> Pris
>
> tblPosteringer
> ID, pk
> KontoID, fk
> VareID, fk
> Antal
>
> og jeg har brug for at hente følgende data og vise i en grid
>
> KONTO, BUDGET, SAMLET PRIS, RESTBUDGET
<snip>

Det er nu tredje gang inden for kort tid, at du stiller et relativt banalt
spørgsmål om SQL. Prøv at købe en lærebog.

select k.ID, k.budget, sum(p.antal*v.pris) as "samlet pris", k.budget -
sum(p.antal*v.pris) as "restbudget"
from konto k
join posteriner p
on k.ID = p.kontoID
join vareliste v
on v.ID = p.vareID
group by k.ID, k.budget

--
Venlig hilsen /Best regards
Kristian Damm Jensen



Ukendt (11-05-2008)
Kommentar
Fra : Ukendt


Dato : 11-05-08 00:36

"Kristian Damm Jensen" <dNOamSPm.uAMsenet@kristiandamm.dk> skrev i en
meddelelse news:48261bf3$0$15876$edfadb0f@dtext01.news.tele.dk...
> Michael Sørensen wrote:

> Det er nu tredje gang inden for kort tid, at du stiller et relativt banalt
> spørgsmål om SQL. Prøv at købe en lærebog.

God pinse til dig også. Men du skal have tak allgievel.

Jeg har skam en lærebog. Både en bog om databaser samt et hæfte om SQL. Om
det er bogen og hæftet eller mig, der ikke mener, at det er banalt, vil jeg
lade blande uden om diskussionen.

> select k.ID, k.budget, sum(p.antal*v.pris) as "samlet pris", k.budget -
> sum(p.antal*v.pris) as "restbudget"
> from konto k
> join posteriner p
> on k.ID = p.kontoID
> join vareliste v
> on v.ID = p.vareID
> group by k.ID, k.budget

Nå nu lærte jeg, hvad jeg havde brug for og håber dermed ikke, at jeg er
nødt til at spørge og forstyrre mere.

De bedste pinsehilsner
Michael



Ukendt (11-05-2008)
Kommentar
Fra : Ukendt


Dato : 11-05-08 11:59

"Kristian Damm Jensen" <dNOamSPm.uAMsenet@kristiandamm.dk> skrev i en
meddelelse news:48261bf3$0$15876$edfadb0f@dtext01.news.tele.dk...
> Michael Sørensen wrote:
>> Hej.
>>
>> Jeg klokker igen i det mht. SQL - g ved faktisk ikke, om det kan lade
>> sig gøre.
>>
>> Øvelsen er, at jeg skal bruge data fra 3 tabeller på en gang.
>>
>> Jeg har følgende tabeller:
>>
>> tblKonto
>> ID, pk
>> Budget
>>
>> tblVareliste
>> ID, pk
>> Vare
>> Pris
>>
>> tblPosteringer
>> ID, pk
>> KontoID, fk
>> VareID, fk
>> Antal
>>
>> og jeg har brug for at hente følgende data og vise i en grid
>>
>> KONTO, BUDGET, SAMLET PRIS, RESTBUDGET
> <snip>
>
> Det er nu tredje gang inden for kort tid, at du stiller et relativt banalt
> spørgsmål om SQL. Prøv at købe en lærebog.
>
> select k.ID, k.budget, sum(p.antal*v.pris) as "samlet pris", k.budget -
> sum(p.antal*v.pris) as "restbudget"
> from konto k
> join posteriner p
> on k.ID = p.kontoID
> join vareliste v
> on v.ID = p.vareID
> group by k.ID, k.budget

Jeg vender lige tilbage, da din kode kun viser de rækker i tblKonto, hvor
der er posteringer på, mens de klasser, der er oprettede, men hvor der ingen
posteringer er tilknyttet ikke vises.

Og der skulle gerne fremkomme en liste med alle konti uanset om der er
posteringer eller ej og samtidig beregningen, som jeg fik hjælp til sidst,
ved de koknti, hvor der er posteringer.

Jeg har forsøgt at lede både på www og hæftet om SQL.

Kan det lade sig gøre, vil jeg meget gerne have hjælp til det - eller
henvisning til relevant bog/hæfte/webside, hvor det kan læres, da mine egne
referencer ikke har haft relevans til at løse mit problem.



Gert Krabsen (11-05-2008)
Kommentar
Fra : Gert Krabsen


Dato : 11-05-08 14:03

Michael Sørensen skrev:
> "Kristian Damm Jensen" <dNOamSPm.uAMsenet@kristiandamm.dk> skrev i en
> meddelelse news:48261bf3$0$15876$edfadb0f@dtext01.news.tele.dk...
>> Michael Sørensen wrote:
>>> Hej.
>>>
>>> Jeg klokker igen i det mht. SQL - g ved faktisk ikke, om det kan lade
>>> sig gøre.
>>>
>>> Øvelsen er, at jeg skal bruge data fra 3 tabeller på en gang.
>>>
>>> Jeg har følgende tabeller:
>>>
>>> tblKonto
>>> ID, pk
>>> Budget
>>>
>>> tblVareliste
>>> ID, pk
>>> Vare
>>> Pris
>>>
>>> tblPosteringer
>>> ID, pk
>>> KontoID, fk
>>> VareID, fk
>>> Antal
>>>
>>> og jeg har brug for at hente følgende data og vise i en grid
>>>
>>> KONTO, BUDGET, SAMLET PRIS, RESTBUDGET
>> <snip>
>>
>> Det er nu tredje gang inden for kort tid, at du stiller et relativt banalt
>> spørgsmål om SQL. Prøv at købe en lærebog.
>>
>> select k.ID, k.budget, sum(p.antal*v.pris) as "samlet pris", k.budget -
>> sum(p.antal*v.pris) as "restbudget"
>> from konto k
>> join posteriner p
>> on k.ID = p.kontoID
>> join vareliste v
>> on v.ID = p.vareID
>> group by k.ID, k.budget
>
> Jeg vender lige tilbage, da din kode kun viser de rækker i tblKonto, hvor
> der er posteringer på, mens de klasser, der er oprettede, men hvor der ingen
> posteringer er tilknyttet ikke vises.
>
> Og der skulle gerne fremkomme en liste med alle konti uanset om der er
> posteringer eller ej og samtidig beregningen, som jeg fik hjælp til sidst,
> ved de koknti, hvor der er posteringer.
>

Prøv at ændre fra JOIN til LEFT JOIN - det burde hjælpe..

> Jeg har forsøgt at lede både på www og hæftet om SQL.
>
> Kan det lade sig gøre, vil jeg meget gerne have hjælp til det - eller
> henvisning til relevant bog/hæfte/webside, hvor det kan læres, da mine egne
> referencer ikke har haft relevans til at løse mit problem.
>
>

Kristian Damm Jensen (11-05-2008)
Kommentar
Fra : Kristian Damm Jensen


Dato : 11-05-08 21:15

Gert Krabsen wrote:
> Michael Sørensen skrev:
>> "Kristian Damm Jensen" <dNOamSPm.uAMsenet@kristiandamm.dk> skrev i en
>> meddelelse news:48261bf3$0$15876$edfadb0f@dtext01.news.tele.dk...
<snip>
>>> select k.ID, k.budget, sum(p.antal*v.pris) as "samlet pris",
>>> k.budget - sum(p.antal*v.pris) as "restbudget"
>>> from konto k
>>> join posteriner p
>>> on k.ID = p.kontoID
>>> join vareliste v
>>> on v.ID = p.vareID
>>> group by k.ID, k.budget
>>
>> Jeg vender lige tilbage, da din kode kun viser de rækker i tblKonto,
>> hvor der er posteringer på, mens de klasser, der er oprettede, men
>> hvor der ingen posteringer er tilknyttet ikke vises.
>>
>> Og der skulle gerne fremkomme en liste med alle konti uanset om der
>> er posteringer eller ej og samtidig beregningen, som jeg fik hjælp
>> til sidst, ved de koknti, hvor der er posteringer.
>>
> Prøv at ændre fra JOIN til LEFT JOIN - det burde hjælpe..

Jep. Hvis du vel at mærke gør det i begge tilfælde.


--
Venlig hilsen /Best regards
Kristian Damm Jensen



Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste