0

我有一個表名shiftsDates更新日期的整個範圍已下面列如何與另一個範圍

**ShiftDateID** **ShiftID** **ShiftDate** **IsNonShiftDate** 
1     20   3/2/2012  false 
2     20   3/3/2012  false 
3     20   3/4/2012  true 

我想更新ShiftDate和IsNonShiftDate列,如果用戶選擇轉向「20」的另一個轉變日期範圍。從UI我只有ShiftID值。請給出任何提示我如何完成這項任務。謝謝

+0

請添加更多細節。你與什麼樣的價值觀合作?你有一個ShiftID,他們選擇一個不同的日期範圍,你需要表來反映?你用什麼來確定IsNonShiftDate應該是什麼?如果您向我們提供了您想要發送到數據庫的信息,並且您希望發送它的結果,那麼這個問題會更容易回答。 – 2012-03-29 17:10:09

+0

恰恰jeremy,基本上scenerio是移動日期不限於3行用戶可以擴大或縮小移位20的shiftdate範圍,並且是nonshift日期反映週末和任何一天,當shift是關閉的,假如它的工作一天,我混淆了更新現有的範圍或刪除所有20班的記錄,並重新進入記錄換班20.什麼辦法應該用於這種任務請引導我在這方面我真的被捆在這,謝謝 – 2012-03-29 17:26:30

回答

0

我不知道我是否理解100%的問題:)但我試了一下。 您有一個ShiftDateId e..g 2.並且想要更新所有3行。

UPDATE YourTable 
SET ShiftDate = <YourDate> 
    , IsNonSiftDate = <true|false> 
WHERE ShiftId = (SELECT ShiftId FROM YourTable WHERE ShiftDateId = <<ourId>) 

但嘗試回答給我更多的問題嗎? - Column InNonShiftDate與工作日相關,因此您必須找出Date的WeekDay()? - 如果你得到一個範圍(開始/結束),那麼你想在該範圍內的每一天插入一行? 這將是一個帶CURSOR的存儲過程,然後...

所以我想給你更多關於你的環境的信息給你一個更好的答案。

+0

在他說他只有'ShiftID'的問題中,所以你不需要做那樣的過濾。只要說WHI ShiftId = @ShiftId就足夠了。 – 2012-03-29 17:12:31

+0

基本情況是移動日期不限於3行用戶可以擴大或縮小移動20的移位範圍,im混淆微波更新現有範圍或刪除移動20的所有記錄並重新輸入移動記錄20有什麼辦法應該用這種任務請引導我在這方面im真的綁在這,謝謝 – 2012-03-29 17:20:39

相關問題