Click here to Skip to main content
15,898,938 members
Home / Discussions / Database
   

Database

 
QuestionRe: ORDER BY issue with Interbase XE SQL Server Pin
Eddy Vluggen25-Jun-17 3:06
professionalEddy Vluggen25-Jun-17 3:06 
GeneralRe: ORDER BY issue with Interbase XE SQL Server Pin
User 1106097925-Jun-17 3:24
User 1106097925-Jun-17 3:24 
GeneralRe: ORDER BY issue with Interbase XE SQL Server Pin
Eddy Vluggen25-Jun-17 3:40
professionalEddy Vluggen25-Jun-17 3:40 
QuestionSQL: Split calendar week between a given two date time Pin
Number0523-Jun-17 3:29
Number0523-Jun-17 3:29 
AnswerRe: SQL: Split calendar week between a given two date time Pin
Richard Deeming23-Jun-17 6:18
mveRichard Deeming23-Jun-17 6:18 
GeneralRe: SQL: Split calendar week between a given two date time Pin
Number0526-Jun-17 22:06
Number0526-Jun-17 22:06 
GeneralRe: SQL: Split calendar week between a given two date time Pin
Number0527-Jun-17 5:10
Number0527-Jun-17 5:10 
GeneralRe: SQL: Split calendar week between a given two date time Pin
Richard Deeming27-Jun-17 5:37
mveRichard Deeming27-Jun-17 5:37 
Assuming you have input data that looks like this:
MachineID    ProcessID    StartDate              EndDate
---------    ---------    ---------              -------
50           1            2016-01-04 02:19:45    2016-06-08 07:57:37
50           1            2016-10-01 02:19:45    2016-12-31 07:57:37

Then something like this should work:
SQL
WITH CW (ProcessID, StartDate, EndDate, RunEnd, RunEndDay) As
(
    SELECT
        ProcessID,
        StartDate,
        DateAdd(wk, 1, CAST(CAST(StartDate As date) As datetime2(0))),
        EndDate,
        CAST(EndDate As date)
    FROM
        YourTable
    WHERE
        MachineID = 50
 
    UNION ALL
 
    SELECT
        ProcessID,
        EndDate,
        CASE
            WHEN DateAdd(wk, 1, EndDate) < RunEndDay THEN DateAdd(wk, 1, EndDate)
            ELSE RunEnd
        END,
        RunEnd,
        RunEndDay
    FROM
        CW
    WHERE
        EndDate < RunEndDay
)
SELECT
    ProcessID,
    StartDate,
    EndDate
FROM 
    CW
ORDER BY
    ProcessID,
    StartDate
;

Output:
ProcessID    StartDate              EndDate
---------    ---------              -------
1            2016-01-04 02:19:45    2016-01-11 00:00:00
1            2016-01-11 00:00:00    2016-01-18 00:00:00
...
1            2016-05-30 00:00:00    2016-06-06 00:00:00
1            2016-06-06 00:00:00    2016-06-08 07:57:37

2            2016-10-01 02:19:45    2016-10-08 00:00:00
2            2016-10-08 00:00:00    2016-10-15 00:00:00
...
2            2016-12-17 00:00:00    2016-12-24 00:00:00
2            2016-12-24 00:00:00    2016-12-31 07:57:37

Calculating the duration will involve calling DATEDIFF[^] to work out the difference between the start and end dates.



"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer


GeneralRe: SQL: Split calendar week between a given two date time Pin
Number0528-Jun-17 4:30
Number0528-Jun-17 4:30 
GeneralRe: SQL: Split calendar week between a given two date time Pin
Richard Deeming28-Jun-17 7:46
mveRichard Deeming28-Jun-17 7:46 
GeneralRe: SQL: Split calendar week between a given two date time Pin
Number053-Jul-17 1:41
Number053-Jul-17 1:41 
QuestionBasic Entity Framework Question Pin
Kevin Marois21-Jun-17 7:54
professionalKevin Marois21-Jun-17 7:54 
AnswerRe: Basic Entity Framework Question Pin
mike1402125-Jun-17 21:24
mike1402125-Jun-17 21:24 
QuestionPDO Return Single Result, How To Return Different Record From 1 Column Multiple Rows Pin
Member 1326709919-Jun-17 1:21
Member 1326709919-Jun-17 1:21 
Questionsingle DataSet having multiple DataTables from multiple databases Pin
Hailu Worku Obsse14-Jun-17 21:24
professionalHailu Worku Obsse14-Jun-17 21:24 
AnswerRe: single DataSet having multiple DataTables from multiple databases Pin
Richard Deeming15-Jun-17 1:51
mveRichard Deeming15-Jun-17 1:51 
GeneralRe: single DataSet having multiple DataTables from multiple databases Pin
Hailu Worku Obsse16-Jun-17 2:17
professionalHailu Worku Obsse16-Jun-17 2:17 
GeneralRe: single DataSet having multiple DataTables from multiple databases Pin
Richard Deeming16-Jun-17 2:22
mveRichard Deeming16-Jun-17 2:22 
AnswerRe: single DataSet having multiple DataTables from multiple databases Pin
Mycroft Holmes15-Jun-17 13:16
professionalMycroft Holmes15-Jun-17 13:16 
GeneralRe: single DataSet having multiple DataTables from multiple databases Pin
Eddy Vluggen16-Jun-17 3:18
professionalEddy Vluggen16-Jun-17 3:18 
QuestionError in SSIS Connection says (Test connection failed because of an error in initializing provider. ORA-12541: TNS:no listener) Pin
indian1437-Jun-17 13:12
indian1437-Jun-17 13:12 
AnswerRe: Error in SSIS Connection says (Test connection failed because of an error in initializing provider. ORA-12541: TNS:no listener) Pin
mike1402125-Jun-17 21:53
mike1402125-Jun-17 21:53 
QuestionI need advice on storing application level encrypted data. Pin
Gilbert Consellado5-Jun-17 18:26
professionalGilbert Consellado5-Jun-17 18:26 
SuggestionRe: I need advice on storing application level encrypted data. Pin
Kornfeld Eliyahu Peter5-Jun-17 20:50
professionalKornfeld Eliyahu Peter5-Jun-17 20:50 
QuestionHow do I write the insert sql statement for the following scenario ? Pin
karengsh3-Jun-17 22:30
karengsh3-Jun-17 22:30 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.