0

Ich habe einen Tabellennamen shiftsDates zu aktualisieren, die Spalte folgende habenWie ganze Reihe von Datum mit einem anderen Bereich

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

Ich mag ShiftDate und IsNonShiftDate Spalte aktualisieren, wenn der Benutzer eines anderen Verschiebe-Datumsbereich für Schicht ‚20‘ auswählen . Von UI habe ich nur ShiftID Wert. Gib mir bitte einen Hinweis, wie ich diese Aufgabe erfülle. danke

+0

Bitte fügen Sie weitere Details hinzu. Mit welchen Werten arbeiten Sie? Haben Sie eine ShiftID und wählen Sie einen anderen Datumsbereich, für den Sie die Tabelle benötigen? Was bestimmen Sie, was IsNonShiftDate sein sollte? Diese Frage wäre viel einfacher zu beantworten, wenn Sie uns die Informationen geben, die Sie an die Datenbank senden wollten, und was Sie wollten, um das Ergebnis zu senden. –

+0

genau Jeremy, im Grunde die Szenerie ist, dass die Verschiebung Datum sind nicht auf 3 Zeilen beschränkt Benutzer kann den ShiftDate-Bereich für Schicht 20 zu erweitern oder verkleinern, und nicht verschaltet Datum spiegeln die Wochenendtage und jeden Tag, wenn Schicht ausgeschaltet ist, und falsch, wenn es funktioniert Tag, ich verwechsle das Wetter, um den vorhandenen Bereich zu aktualisieren oder alle Datensätze von Schicht 20 zu löschen und den Datensatz für Schicht 20 neu einzugeben. Welcher Ansatz sollte für diese Art von Aufgabe verwendet werden, bitte führe mich in dieser Hinsicht bin wirklich darin gebunden, danke –

Antwort

0

Ich weiß nicht, ob ich die Frage 100% verstehe :) Aber ich versuche es. Sie haben eine a ShiftDateId e..g 2. und möchten alle 3 Zeilen aktualisieren.

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

Aber versuchen zu beantworten, geben Sie mir mehr Fragen? - Spalte InNonShiftDate bezieht sich auf Arbeitstage, also müssen Sie WeekDay() des Datums herausfinden? - Wenn Sie einen Bereich (Start/Ende) erhalten, dann möchten Sie für jeden Tag in diesem Bereich eine Zeile einfügen? Dies wäre eine gespeicherte Prozedur mit einem CURSOR dann ...

Also ich denke, geben Sie uns mehr Infos über Ihre Umgebung, um Ihnen eine bessere Antwort zu geben.

+0

In der Frage, er sagte, er hatte nur die 'ShiftID', also sollten Sie Ihre Filterung nicht so tun müssen. Nur sagen WHERE ShiftId = @ShiftId sollte ausreichen. –

+0

Grundsätzlich ist das Szenario, dass das Shift-Datum nicht auf 3 Zeilen beschränkt sind Benutzer kann den ShiftDate-Bereich für Schicht 20 zu erweitern oder zu verkleinern, ich verwechsle das Wetter, um den bestehenden Bereich zu aktualisieren oder löschen Sie alle Datensätze der Schicht 20 und erneut den Datensatz für Schicht 20 Englisch: www.mjfriendship.de/en/index.php?op...39&Itemid=32 Was für einen Ansatz sollte man für diese Art von Aufgabe verwenden, bitte führe mich in dieser Hinsicht, ich bin wirklich in dieser Sache gebunden –

Verwandte Themen