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


Går detta i SQL

Postades av 2005-02-08 16:03:44 - Erik Viklund, i forum sql-server/msde, Tråden har 2 Kommentarer och lästs av 841 personer

Har följande tabeller:

Användare (med de vanliga collumnerna)
Bokning (BokningsID, AnvändarID, BokningsDatum)
BokningsRad(BokRadID, BokningsID, ObjektID, Vecka, Dag, SlutDatumTid, StartDatumTid)
Objekt (ObjektID, TypID, Namn)
Typ (TypID, ResursTyp)

Om jag vill ha ut hur mycket ett objekt är är bokat vecka 5 hur blir sqlsatsen då? Ex på resultat jag vill ha:
(1)

Projektor A232 är bokad 09:30 till 16:00 måndag vecka 5.
Projektor A232 är bokad 09:30 till 12:00 tisdag vecka 5.
Projektor A232 är bokad 07:30 till 16:00 onsdag vecka 5.
Projektor A111 är bokad 09:30 till 16:00 måndag vecka 5.
Projektor A222 är bokad 09:30 till 11:00 fredag vecka 5.

och skall sedan bli...
(1.1)

Namn Mån Tis Ons Tors Fre
-----------------------------------------------------------------
A232 x x x x x
A111 x x x x x
A222 x x x x x
x= totala antalet minuter objektet är bokat just den dagen

Har följande SQL sats nu:
<code>
Select Objekt.Namn, Bokningsrad.Dag, Bokningsrad.StartDatumTid, Bokningsrad.SlutDatumTid, Bokningsrad.Vecka
From Objekt, Typ, Bokningsrad Where Objekt.TypID = Typ.typID and
Objekt.ObjektID = Bokningsrad.ObjektID and Bokningsrad.Vecka = 5
and Typ.Typ = 'Projektor'
</code>

Vilket resulterar i detta:

A232 Måndag 07:00:00.000 10:00:00.000 5
A232 Måndag 12:00:00.000 14:00:00.000 5
A232 Tisdag 12:00:00.000 15:00:00.000 5
A232 Fredag 17:00:00.000 07:00:00.000 5
A111 Måndag 09:00:00.000 07:00:00.000 5
A111 Torsdag 11:00:00.000 07:30:00.000 5
A222 Fredag 13:00:00.000 08:30:00.000 5

Alltså samma dagar (A232 - flera måndagar) kommer upp som resultat.
Går det på något sätt lösa detta så att det blir som (1.1). Flera Sqlsatser,
nån funktion eller nått sånt?


Svara

Sv: Går detta i SQL

Postades av 2005-02-08 18:45:50 - Ulf Magnusson

Hej!

Vet inte hur tidsstämplar fungerar i sql-server, men här kommer principen.

Eftersom A232 finns två gånger på måndag så antar jag att den är bokad två gånger.
Du måste då räkna ut antal minuter per bokning och sen summera detta.

typ:
select Objekt.namn, Bokningsdag.Dag, sum(Bokningsrad.SlutDatumTid - Bokningsrad.StartDatumTid)
from ...
where ...
group by Objekt.namn, Bokningsdag.Dag

/Uffe


Svara

Sv: Går detta i SQL

Postades av 2005-02-08 21:20:32 - Håkan Borneland

<b>-Alltså samma dagar (A232 - flera måndagar) kommer upp som resultat</b>

Jag ser två bokningar på A232 på måndagar.
<b>
A232 Måndag 07:00:00.000 10:00:00.000 5
A232 Måndag 12:00:00.000 14:00:00.000 5
</b>
Dessa har olika tider bokade.
Borde vara ok, om det är samma måndag som avses?

//Håkan


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
498
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