Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 受影响的熔炉(对于任何给定的调度操作,1个或2个炉可能会受到影响。例如,我们可以将一个工作从一个炉移到另一个炉,一个影响2个炉的操作。如果其他东西有意义的话,我当然会考虑模型的改变。在GUI中,您可以显示AssignedPriority,让用户修改并将其存_Sql_Sql Server 2005 - Fatal编程技术网

Sql 受影响的熔炉(对于任何给定的调度操作,1个或2个炉可能会受到影响。例如,我们可以将一个工作从一个炉移到另一个炉,一个影响2个炉的操作。如果其他东西有意义的话,我当然会考虑模型的改变。在GUI中,您可以显示AssignedPriority,让用户修改并将其存

Sql 受影响的熔炉(对于任何给定的调度操作,1个或2个炉可能会受到影响。例如,我们可以将一个工作从一个炉移到另一个炉,一个影响2个炉的操作。如果其他东西有意义的话,我当然会考虑模型的改变。在GUI中,您可以显示AssignedPriority,让用户修改并将其存,sql,sql-server-2005,Sql,Sql Server 2005,受影响的熔炉(对于任何给定的调度操作,1个或2个炉可能会受到影响。例如,我们可以将一个工作从一个炉移到另一个炉,一个影响2个炉的操作。如果其他东西有意义的话,我当然会考虑模型的改变。在GUI中,您可以显示AssignedPriority,让用户修改并将其存储到RequestedPr中。iority;然后在整个表上运行第二次传递,以调整分配的优先级,并为每个优先级设置开始时间。在此模型中,您不需要重新编号任何内容,只需调整优先级和开始时间。理想情况下,您甚至不需要删除任何内容,以保留作业历史记录。



受影响的熔炉(对于任何给定的调度操作,1个或2个炉可能会受到影响。例如,我们可以将一个工作从一个炉移到另一个炉,一个影响2个炉的操作。如果其他东西有意义的话,我当然会考虑模型的改变。在GUI中,您可以显示AssignedPriority,让用户修改并将其存储到RequestedPr中。iority;然后在整个表上运行第二次传递,以调整分配的优先级,并为每个优先级设置开始时间。在此模型中,您不需要重新编号任何内容,只需调整优先级和开始时间。理想情况下,您甚至不需要删除任何内容,以保留作业历史记录。用户需要在VB应用程序的GUI中查看优先级。由于业务逻辑对于调度,在优先级为4的作业之后,我可能会得到优先级为0.5的作业。这是不合理的,因此,当此操作完成时,我需要对所有受影响的炉中的所有作业重新编号(对于任何给定的调度操作,1个或2个炉可能会受到影响。例如,我们可以将一个工作从一个炉移到另一个炉,一个影响2个炉的操作。如果其他东西有意义的话,我当然会考虑模型的改变。在GUI中,您可以显示AssignedPriority,让用户修改并将其存储到RequestedPr中。iority;然后对整个表运行第二次传递,以调整分配的优先级,并为每个优先级设置开始时间。在这个模型中,您不需要重新编号任何内容,只需调整优先级和开始时间。理想情况下,您甚至不需要删除任何内容,以保留作业历史记录。这是一个非常有趣的查询。我复制了我的表并尝试了一下,但添加了一个where子句,因此只有开始日期大于今天上午7:00的行才会受到影响。对于一个熔炉,优先级为0.5的行全部更改为优先级1。下一组行以优先级3开始(没有优先级为2的行)并保持在3,但我希望他们的优先级被重新编号为2。感谢您提供此代码。如果您能提供进一步的增强或建议,我将不胜感激。您可以发布一些样本数据进行测试吗?样本测试数据:Schu ID熔炉开始日期优先级Pr在重新订购372 1335 11/9/09 8:00 AM 1 380 1335 11/9/09 7:00 AM后113141335111/9/09 10:30上午22324133511/9/09 10:00上午223133511/9/09下午4:00下午0.5332341335111/9/09下午4:00下午0.533401510111/9/09上午11:30上午224041510111/9/09上午11:30上午2241510111/9/09上午8:30 21389151011/9/09上午7:30上午113901510111/9/09上午7:30上午11181818181811510111/9/09上午11:004 383 1510 11/9/09 5:30 PM 3.5 4 385 1510 11/9/09 3:30 PM 3 3 386 1510 11/9/09 1:30 PM 3 3只需将其添加到原始帖子中即可。几乎可以。排序是按开始日期完成的,而不是按原始优先级完成的。因此,测试数据中作为优先级5启动的那些被安排在优先级为1和优先级为2的那些之后。因此他们应该成为优先级3。您已将它们重新分配给PR 1。这是一个非常有趣的查询。我复制了我的表并进行了尝试,但添加了where子句,因此只有开始日期大于今天上午7:00的行才会受到影响。优先级为0.5的行对于一个炉都更改为优先级1。下一组行是s以优先级3开头(没有优先级为2的行)并保持在3,但我希望他们的优先级被重新编号为2。感谢您提供此代码。如果您能提供进一步的增强或建议,我将不胜感激。您可以发布一些样本数据进行测试吗?样本测试数据:Schu ID熔炉开始日期优先级Pr在重新订购372 1335 11/9/09 8:00 AM 1 380 1335 11/9/09 7:00 AM后113141335111/9/09 10:30上午22324133511/9/09 10:00上午223133511/9/09下午4:00下午0.5332341335111/9/09下午4:00下午0.533401510111/9/09上午11:30上午224041510111/9/09上午11:30上午2241510111/9/09上午8:30 21389151011/9/09上午7:30上午113901510111/9/09上午7:30上午11181818181811510111/9/09上午11:004 383 1510 11/9/09 5:30 PM 3.5 4 385 1510 11/9/09 3:30 PM 3 3 386 1510 11/9/09 1:30 PM 3 3只需将其添加到原始帖子中即可。几乎可以。排序是按开始日期完成的,而不是按原始优先级完成的。因此,测试数据中作为优先级5启动的那些被安排在优先级为1和优先级为2的那些之后。因此他们应该成为优先级3。您已将它们重新分配给PR 1。没有最后一步,我的查询应按原样进行。到目前为止,相同的优先级保持不变。
Dr
始终等于
PR
。能否请您发布一个它无法保存的数据示例?很抱歉,延迟回复您。您在中使用的许多结构上面的查询与我不相似,因此我试图了解您做了什么以及如何做。具体地说,我从未在SQL中见过稠密的_Rank、Partition By或With语句。您说,“这取决于原始优先级的顺序与startdate相同。”但是,事实上,这可能不是真的,这就是为什么我需要更改优先级,所以在每次调度操作之后,它会变为真的。没有最后一步,我的查询应该按原样工作。到目前为止,相同的优先级保持不变。
Dr
始终等于
Pr
。您能否发布一个它不适用的数据示例等一下?很抱歉耽误了您的时间。您在上面的查询中使用的许多结构与我不相似,因此我试图了解您做了什么以及如何做。具体地说,我从未在SQL中见过稠密的_Rank或Partition By或With语句。您说,“这取决于一个事实,即原始优先级的顺序与开始日期相同。”但事实上,这可能不是真的,这就是为什么我需要更改优先级,以便在每次调度操作后变为真。
Update Table 
Set Priority = 
    (Select Count(*) 
     From table
     Where Start_Date <= T.Start_Date)   
     From Table T   
Where Start_Date > getDate()
Update tblTable
Set      Priority = 
 (Select Count(*) 
 From tblTable
 Where Start_Date <= T.Start_Date and
 Start_Date  >= @CutoffDate 
 and Furnace_Name = T.Furnace_Name
 )   
From tblTable T
WITH    rows AS
        (
        SELECT  tt.*, DENSE_RANK() OVER (PARTITION BY Furnace_Name ORDER BY Priority) AS dr
        FROM    tblTable tt
        )
UPDATE  rows
SET     Priority = dr
WITH    data (Sch_ID, Furnace, Start_Date, Priority, Pr) AS
        (
        SELECT 372, 1335, CAST('11/9/09 8:00 AM' AS DATETIME), 1, 1
        UNION ALL
        SELECT 380, 1335, '11/9/09 7:00 AM', 1, 1
        UNION ALL
        SELECT 314, 1335, '11/9/09 10:30 AM', 2, 2
        UNION ALL
        SELECT 324, 1335, '11/9/09 10:00 AM', 2, 2
        UNION ALL
        SELECT 235, 1335, '11/9/09 4:00 PM', 0.5, 3
        UNION ALL
        SELECT 234, 1335, '11/9/09 4:00 PM', 0.5, 3
        UNION ALL
        SELECT 403, 1510, '11/9/09 11:30 AM', 2, 2
        UNION ALL
        SELECT 404, 1510, '11/9/09 11:30 AM', 2, 2
        UNION ALL
        SELECT 402, 1510, '11/9/09 8:30 AM', 2, 2
        UNION ALL
        SELECT 389, 1510, '11/9/09 7:30 AM', 1, 1
        UNION ALL
        SELECT 390, 1510, '11/9/09 7:30 AM', 1, 1
        UNION ALL
        SELECT 388, 1510, '11/9/09 7:00 AM', 1, 1
        UNION ALL
        SELECT 374, 1510, '11/9/09 6:30 PM', 3.5, 4
        UNION ALL
        SELECT 383, 1510, '11/9/09 5:30 PM', 3.5, 4
        UNION ALL
        SELECT 385, 1510, '11/9/09 3:30 PM', 3, 3
        UNION ALL
        SELECT 386, 1510, '11/9/09 1:30 PM', 3, 3
        ),
        ranks AS
        (
        SELECT  *, DENSE_RANK() OVER (PARTITION BY Furnace ORDER BY CASE WHEN Priority = 0.5 THEN 1 ELSE 0 END, Priority) AS Dr
        FROM    data
        )
SELECT  *
FROM    Ranks
ORDER BY
        Furnace, Start_Date
Date   Priority 
07:00  1
08:00  2
09:00  1
10:00  2