Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Join blir lite fel...?

Postades av 2003-06-04 09:19:59 - Kalle Strömberg, i forum sql-server/msde, Tråden har 5 Kommentarer och lästs av 678 personer

Ett sista litet fel i min sql....

SELECT DISTINCT medlem.medlemsnr,
((IsNull(Sum(Betalning.belopp),0) + IsNull(Sum(Tillgodo.belopp),0))-
Sum(Faktura.Avibelopp)) as SkuldLT
FROM medlem
inner join
(Faktura left join Betalning on Betalning.FakId = Faktura.FakId)
on Medlem.Medlemsnr = Faktura.Medlemsnr
left join Tillgodo on Tillgodo.FakId = Faktura.FakId
WHERE medlem.medlemsnr = 11
GROUP BY medlem.Medlemsnr

Tabell: Faktura
FakId FakBelopp
1 100
2 200

Problemet är att jag i denna tabell är att det kan finnas fler rader med samma id, då tar han dom raderna och sumerar summan i Fakbelopp, alltså Fakbelopp blir för Fakid 1 200 kr (2 radar i Betalning blir i Faktura 100+100)
Tabell: Betalning
FakId Belopp
1 50
1 50
2 200

Felet är att han då får 2 träffar för fakid 1 och då gör 100+100

Någon som har ngt tips?

/Tack


Svara

Sv: Join blir lite fel...?

Postades av 2003-06-04 12:12:49 - Andreas Hillqvist

Om du skapar en vy/fråga som grupperar Betalning och Tillgodo så lösser det sig:
Fråga: qrySelectSumBetalning
SELECT Betalning.FakId, Sum(Betalning.belopp) AS belopp
FROM Betalning
GROUP BY Betalning.FakId

Fråga: qrySelectSumTillgodo
SELECT Tillgodo.FakId, Sum(Tillgodo.belopp) AS belopp
FROM Tillgodo
GROUP BY Tillgodo.FakId

Summerande fråga:
SELECT medlem.medlemsnr, IsNull(qrySelectSumBetalning.Belopp, 0) + IsNull(qrySelectSumBetalning.Belopp, 0) - Sum(Faktura.Avibelopp) as SkuldLT
FROM ((Faktura LEFT JOIN
qrySelectSumBetalning ON Faktura.FakId = qrySelectSumBetalning.FakId) LEFT JOIN
qrySelectSumTillgodo ON Faktura.FakId = qrySelectSumTillgodo.FakId) LEFT JOIN
medlem ON Medlem.Medlemsnr = Faktura.Medlemsnr
WHERE Faktura.Medlemsnr = 11
GROUP BY medlem.Medlemsnr


Svara

Sv: Join blir lite fel...?

Postades av 2003-06-04 13:09:53 - Kalle Strömberg

Tack så väldigt mycket för svaret, men det blir tyvärr inte riktigt rätt iaf :(
SkuldLT blir -1088 för en person, så det verkar inte som han köper när 2 belopp är lika i Betalning, tabellerna för honom ser ut såhär:

Faktura:
FakId AviBelopp
70328 1020
79371 1056
85592 1088
87175 1088
88522 969

Betalning:
FakId Belopp
70328 1020
79371 1000
79371 56
85592 1088
87175 1088
88522 969

Tillgodo:
FakId Belopp
- -


Svara

Sv: Join blir lite fel...?

Postades av 2003-06-04 21:49:51 - Andreas Hillqvist

Skrev fel i frågan. Tog qrySelectSumBetalning två gånger. Försök med:

SELECT medlem.medlemsnr, IsNull(qrySelectSumBetalning.Belopp, 0) + IsNull(qrySelectSumTillgodo.Belopp, 0) - Sum(Faktura.Avibelopp) as SkuldLT
FROM ((Faktura LEFT JOIN
qrySelectSumBetalning ON Faktura.FakId = qrySelectSumBetalning.FakId) LEFT JOIN
qrySelectSumTillgodo ON Faktura.FakId = qrySelectSumTillgodo.FakId) LEFT JOIN
medlem ON Medlem.Medlemsnr = Faktura.Medlemsnr
WHERE Faktura.Medlemsnr = 11
GROUP BY medlem.Medlemsnr


Svara

Sv: Join blir lite fel...?

Postades av 2003-06-05 09:05:29 - Kalle Strömberg

Jag hade sett det tidigare, så den förändringen hjälpte tyvärr inte....

Det är konstigt dethär, som jag sa tidigare när beloppet i Betalning är exakt samma på 2 eller flera rader så tar han bara värdet en gång???


Svara

Sv: Join blir lite fel...?

Postades av 2003-06-05 11:14:10 - Kalle Strömberg

Tack för hjälpen, tror jag kommit en bit på vägen nu..


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 614
27 953
271 709
439
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies