2011-08-30 82 views
0

我想要您的幫助來創建一個查詢,該查詢將能夠爲一個爲期4周的員工生成一個輪換,並進行三個不同的班次。在本月底,所有員工的班次類型應該相同。SQL Server應用程序

它仍然是你來指點我該怎麼辦呢..

我們可以採取很多參數考慮在內,而這樣做..如 節假日號 的工作時間的 號號輪班後休息數小時。

這是我的想法,

但是,當許多介入做到這一點。我們得到最好的想法,並且這將直接達到獲得最佳查詢的目標。

希望大家幫忙做..提前爲您的幫助和時間在這方面

感謝。

讓我給你的細節FO創建應用程序..

假設我們有N無。的員工。 不同的班次。

然後,應用程序應該爲所有人產生rota,以至於當我們檢查所有rota時,員工所做的班次數應該與其他人相同,並且所有employess應該已經工作在所有的班次中進行相同的時間。

希望這會有所幫助..

+0

您確定單個SQL查詢是最好的方法嗎?我保證這會很複雜。您可能想要從數據庫中提取一些信息,在另一個應用程序(C#,MS Access,無論您願意幹什麼)中執行計劃,然後將完成的計劃上載到數據庫。 –

+0

我不是很確定,但想要一個簡單的方法和易於理解的編碼..嗯..聽起來更好,你可以建議我們如何繼續你的建議。 –

+0

你能解釋更多細節嗎? 並給你的物品一些測試數據。 – skorpk

回答

0

根據您先前的評論,您絕對是對的;前端/後端安排正是我所要做的。排列更加困難,因爲天真的隨機化不會考慮假期等事情。一個不那麼天真(但仍然天真)的方法可能是逐步完成一項任務,插入符合標準的隨機工作人員。如果您遇到不可能的情況(由於假期,休息日,班次太多而無法填補空位),請退後一步(刪除最近的更改)並繼續。

這應該至少讓你開始;我相信有人比我更懂事能想出更優雅的東西。

+0

非常感謝吉姆..這真是太好了,現在我正在考慮如何在SQL本身做最大的部分,然後從前端調用標準..說與形式的幫助.. –

+0

在這方面的任何幫助。 –

+0

我想下面的查詢,它可以幫助我生成的ID字段,它可以作爲費爾德的Emp ID 選擇 ID,纈氨酸,R.rnd FROM #T1 T1 CROSS APPLY 不同的值(SELECT TOP 1 val as rnd FROM#t1 t2 WHERE t1.val <> t2.val ORDER BY NEWID())R ORDER BY id 現在我需要將此輸出與參數(例如員工可能休息時間需要兩班倒。請幫忙這樣做。 非常感謝您的幫助。 –

相關問題