I have a table with following fields:
DailyWork(ID, WorkerID, FromHour, ToHour)
assume that, all of the fields are of type INT
.
This table needs to be expanded in a T_SQL
statement to be part of a JOIN
.
By expand a row, I mean, generate a hour for each number in range of FromHour
and ToHour
. and then join it with the rest of the statement.
Example:
Assume, I have another table like this: Worker(ID, Name)
. and a simple SELECT
statement would be like this:
SELECT * FROM
Worker JOIN DailyWork ON Worker.ID = DailyWork.WorkerID
The result has columns similar to this: WorkerID, Name, DailyWorkID, WorkerID, FromHour, ToHour
But, what i need, has columns like this: WorkerID, Name, Hour
.
In fact the range of FromHour
and ToHour
is expanded. and each individual hour placed in separate row, in Hour
column.
Although i read a similar question to generate a range of number , but it didn't really help.