我看到很多關於基於其他列或表更新列的問題,但還沒有看到有關基於同一列但不同行進行更新的答案。根據同一列的值更新行值
數據佈局與此類似:
我需要一個「Y」添加到關閉列在它下面的行有一個「Y」,在封閉的任何行柱。
因此,在這個例子中,序列400將在閉列中得到一個「Y」,因爲它下面的行有一個「Y」。
這隻適用於包含相同作業編號的行。
(背景)當人們忘記關閉序列並導致系統中出現大量假開放序列時,會發生這種情況。我們沉悶地關閉它們,但是一個SQL解決方案將是最好的。
我看到很多關於基於其他列或表更新列的問題,但還沒有看到有關基於同一列但不同行進行更新的答案。根據同一列的值更新行值
數據佈局與此類似:
我需要一個「Y」添加到關閉列在它下面的行有一個「Y」,在封閉的任何行柱。
因此,在這個例子中,序列400將在閉列中得到一個「Y」,因爲它下面的行有一個「Y」。
這隻適用於包含相同作業編號的行。
(背景)當人們忘記關閉序列並導致系統中出現大量假開放序列時,會發生這種情況。我們沉悶地關閉它們,但是一個SQL解決方案將是最好的。
因爲沒有提供很多信息,所以在這裏猜測。順便說一句,你應該避免使用保留字作爲列名。像Sequence這樣的東西不適合列名。
像這樣的東西應該接近。
Update yt
set Closed = 'Y'
from YourTable yt
where yt.[Sequence] < (select max(Sequence) from YourTable yt2 where yt2.JobNumber = yt.JobNumber and Closed = 'Y')
謝謝,這是我第一次問一個問題,所以我不確定要提供多少具體細節。我更期待從中完成它的一般方法,並從那裏開展工作。 非常感謝,我會給它一個鏡頭。 – Zarto
問題是,我正在使用Pervasive Control Center來訪問數據庫,並且我不知道如何將網格圖像轉換爲圖像文件以供上載。這就是爲什麼我在Excel中製作一個簡單/基本的副本來說明我正在嘗試做什麼。 – Zarto
更新YT 組FLAG_CLOSED = 'Y' FROM Job_Operations WHERE yt.SEQ <(SELECT MAX(SEQ)FROM JOB_OPERATIONS YT2 WHERE yt2.Job = yt.Job和Flag_Closed = 'Y' – Zarto
您需要定義「下方」。根據定義,表格是無序集合。使用Sequence列來定義順序是否安全? –