Har följande tabeller: Hej! <b>-Alltså samma dagar (A232 - flera måndagar) kommer upp som resultat</b>Går detta i SQL
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? Sv: Går detta i SQL
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
/UffeSv: Går detta i SQL
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