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


Få in lite extra info i en selectfråga...

Postades av 2003-10-14 14:36:15 - Andreas Olausson, i forum sql-server/msde, Tråden har 5 Kommentarer och lästs av 904 personer

Jag har en fråga som tar ut konto, datum och tid ur en tidsbank.

Frågan baseras på datumperiod och summerar tiden...

Datat ska grupperas på konto, datum och ha samma sortering.

Just nu ser det ut som detta om man tar perioden 2003 01- 2003 03:

A 0302 12
B 0301 13
B 0303 23
C 0303 34
D 0301 14
D 0302 34
D 0303 21
osv...

Problemet är att jag vill alltid få ut ALLA datum även om det inte finns något på konto A för 0301 och 0303 så vill jag ha det till 0. I detta exempel skulle det finnas tre stycken A, B, C, osv...

Är detta möjligt?

Frågan ser idag ut på följande sätt

SELECT KONTO, DATUM SUM(TID) FROM TABELL GROUP BY KONTO, DATUM ORDER BY KONTO, DATUM

Väldigt tacksam för svar så jag slipper gnugga dom små grå för mycket :)


Svara

Sv: Få in lite extra info i en selectfråga...

Postades av 2003-10-14 15:48:48 - Pelle Johansson

Om du har en tabell innehållande alla datum så kan du göra en join. Annars om du har sql så kan du skriva en cursor som hanterar detta. Sen finns ytterligare en variant och det är att använda asp eller kanske vb för att loopa ett gäng dagar och lista dessa.

Sen samtidigt har du ett recordset där du kollar dag för dag om datumet överensstämmer med det datum du fick i ditt recordset. Finns en matchning fyller du på med informationen och sen in i listrutan.

Eftersom jag inte vet språket kan jag inte ge exempel men kan ge dig en tankemodell:

1. Hämta datat i ett recordset.
2. Läs in det som en array och stäng recordset
3. Börja loopa ett gäng datum
4. Finn matchningarna och uppdatera post för post
5. Presentera resultatet

<code>
Set rst = con.execute("select -----")
Array = Rst.GetRows()
Rst.Close

For CurrentDay = FirstDate To DateAdd("m", intervallid, FirstDate)
lstPoster = lstPoster & "<option ....."

If CurrentDay = Array(x) Then
lstPoster = lstPoster & " mer data"
End If
lstPoster = lstPoster & "</option>"
Next
</code>

Sen skall det bara presenteras som en dropruta:

<code>
<select size="1" name="lstPoster" class="listruta" style="width: 235; height: 23">
<option value="-1">-- välj post --</option>
<%=lstPoster%>
</select>
</code>


Svara

Sv: Få in lite extra info i en selectfråga...

Postades av 2003-10-14 20:13:50 - Roger Gusthage

Om du vänder på din GROUP BY till DATUM och därefter KONTO så bör du få med alla datum som finns inom perioden. Jag inbillar mig att det förutsätter att det står 0 i minst en post för kontot, det datumet/datumintervallet.


Svara

Sv: Få in lite extra info i en selectfråga...

Postades av 2003-11-05 10:02:08 - Tomas Nilsson

>SELECT KONTO, DATUM SUM(TID) FROM TABELL GROUP BY KONTO, DATUM ORDER BY >KONTO, DATUM

Nej, du kan inte få fram information som inte existerar i databasen. Du kan alltid fabricera informationen typ:

create table #date
(
d datetime
)

set nocount on

declare @startdate datetime,
@enddate datetime

select @startdate = '2001-01-01', @enddate = getdate()

while (@enddate > @startdate)
BEGIN
insert into #date values (@startdate)
select @startdate = dateadd(day, 1, @startdate)
END


SELECT KONTO, substring(convert(varchar(10), d, 112),3,4), SUM(TID)
FROM TABELL
RIGHT JOIN #date on substring(convert(varchar(10), d, 112),3,4) = Datum
GROUP BY KONTO, substring(convert(varchar(10), d, 112),3,4)
ORDER BY 2, Konto

Order by 2 = Sortera på andra kolumnen

Att jag har substring(convert(varchar(10), d, 112),3,4) beror på att du lagrat ditt datum i "ååmm" (något som du egentligen bör undvika om du kan det).

/Tomas


Svara

Sv: Få in lite extra info i en selectfråga...

Postades av 2003-11-06 10:20:49 - Andreas Olausson

Tack för hjälpen!


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 619
27 953
271 709
525
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