Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2000 Forums
 Transact-SQL (2000)
 GANTT CHART

Author  Topic 

dpais
Yak Posting Veteran

60 Posts

Posted - 2008-05-28 : 11:43:42
Hi there :

I'm trying to basically create a Gantt Chart using INPUT TABLE 1 ... to generate the last column in table 2.

I cant't seem to wrap my head around this one .. any guidance is appreciated.

thank you.


TABLE_1
DATE___________CODES_________START_TIME______END_TIME
5/28/2008_______AAA____________0700____________0900
5/28/2008_______BBB____________1100____________1600
5/29/2008_______CCC____________0700____________0700
5/30/2008_______DDD____________0700____________0700

TABLE_2
DATE___________FROM_TIME______TO_TIME_________CODES ( DESIRED OUTPUT)
5/28/2008_______0700____________0800____________AAA
5/28/2008_______0800____________0900____________AAA
5/28/2008_______0900____________1000____________
5/28/2008_______1000____________1100____________
5/28/2008_______1100____________1200____________BBB
5/28/2008_______1200____________1300____________BBB
5/28/2008_______1300____________1400____________BBB
5/28/2008_______1400____________1500____________BBB
5/28/2008_______1500____________1600____________BBB
5/28/2008_______1600____________1700____________
5/28/2008_______1700____________1800____________
5/28/2008_______1800____________1900____________
5/28/2008_______1900____________2000____________
5/28/2008_______2000____________2100____________
5/28/2008_______2100____________2200____________
5/28/2008_______2200____________2300____________
5/28/2008_______2300____________2400____________
.._AND_SO_ON_WITH_THE_NEXT_DAY

visakh16
Very Important crosS Applying yaK Herder

52326 Posts

Posted - 2008-05-28 : 13:31:13
Are START_TIME & END_TIME datetime fields?
Go to Top of Page

dpais
Yak Posting Veteran

60 Posts

Posted - 2008-05-28 : 13:57:02
yes they are ... thanks.
Go to Top of Page

visakh16
Very Important crosS Applying yaK Herder

52326 Posts

Posted - 2008-05-28 : 14:22:03
quote:
Originally posted by dpais

yes they are ... thanks.


This should get you started
SELECT IDENTITY(int,1,1) AS ID,
DATE,CODES,START_TIME,END_TIME
INTO #Temp
FROM YourTable
ORDER BY DATE,START_TIME

SELECT CONVERT(varchar(11),DATE,101) AS DATE,
CONVERT(varchar(5),DATEADD(hh,v.number-1,STARTTIME),108) AS STARTTIME,
CONVERT(varchar(5),DATEADD(hh,v.number,STARTTIME),108) AS ENDTIME,
CODES
FROM #Temp t
CROSS JOIN master..spt_values v
WHERE v.type='p'
AND DATEADD(hh,v.number,STARTTIME)<=ENDTIME

UNION

SELECT
CONVERT(varchar(11),SELECT DATEADD(hh,v.number-1,t.StartDate),101),
CONVERT(varchar(5),DATEADD(hh,v.number-1,t.StartDate),108),
CONVERT(varchar(5),DATEADD(hh,v.number,t.EndDate),108),
NULL
FROM
(SELECT CAST(CAST(t1.DATE AS varchar(11))+ ' '+CAST(t1.END_TIME AS varchar(4)) AS datetime) AS StartDate,
CAST(CAST(t2.DATE AS varchar(11))+ ' '+CAST(t2.START_TIME AS varchar(4)) AS datetime) AS EndDate
FROM #Temp t1
INNER JOIN #Temp t2
ON t2.ID=t1.ID+1) t
CROSS JOIN master..spt_values v
WHERE v.type='p'
AND DATEADD(hh,v.number,t.StartDate)<=t.EndDate
ORDER BY DATE,STARTTIME




Go to Top of Page
   

- Advertisement -