私はこのクエリからのデータを持っている:クエリをテーブルに更新する方法は?
with countedresult As
(
select ROW_NUMBER() over(partition by d_hotbox order by d.D_hotbox,d.start_date) as ADS,d.ID,
d.D_hotbox,
d.D_PWM_location,
d.start_date,
d.Last_date--,
h.SERIAL_NUMBER
from D_FLEET d
)
select countedresult.ID,
countedresult.D_HOTBOX,
countedresult.D_PWM_location,
countedresult.start_date,
countedresult.Last_date,
LAG(ID, 1) over (partition by d_hotbox order by d_hotbox, start_date) as previous_id,
ads HB_Run_Number
from countedresult
order by d_hotbox, HB_Run_Number DESC
は、私は彼らがPREVIOUS_ID、RUN_NOあるテーブル内の2つの列のみを更新する必要があります。
は、私は別のテーブルにこれらの値を挿入したい私はから値を更新したい
[dbo].[D_FLEET]
(
[ID] [int] IDENTITY(1,1) NOT NULL,
[D__LOCATION] [int] NOT NULL,
[D_BOX] [int] NULL,
[D__MODULE] [int] NULL,
[ST_DATE] [date] NULL,
[LT_DATE] [date] NULL,
[S_START_DATE] [date] NULL,
[S_LAST_DATE] [date] NULL,
[[email protected]] [date] NULL,
[C_LAST_SS] [float] NULL,
[S_AVG] [float] NULL,
[SP_MIN] [float] NULL,
[SP_MAX] [float] NULL,
[H_TYPE] [nvarchar](50) NULL,
[R_FRU] [nvarchar](50) NULL,
[NILD] [nvarchar](50) NULL,
[RLACE] [nvarchar](50) NULL,
[HRADE] [float] NULL,
[HTUS] [nvarchar](50) NULL,
[HDULE] [nvarchar](50) NULL,
[HT_DATE] [date] NULL,
[OAG] [nvarchar](50) NULL,
[ID_DATE] [datetime] NULL,
[UPDATED_DATE] [datetime] NULL,
[Run_Type] [nvarchar](50) NULL,
[RUN_NO] [nvarchar](50) NULL,
[PREVIOUS_ID] [int] NULL
)
:参照して、テーブルD_FLEETからにクエリーから
- Previous_id PREVIOUS_IDをID列に追加します。
- HB_RUN_NUMBERからID番号を参照して[RUN_NO]テーブルD_FLEETから。
これは正しい方法ですか?
私はクエリからテーブルへの更新を行っているので、それを行う方法を理解できません。
何か助けていただければ幸いです。
これは、この行のためにエラーになっていますされている "RUN_NO = LAG(ID、1)(d_hotbox、start_dateのことでd_hotbox順序によって、パーティション)上で、" ウィンドウ表示機能のみがSELECTまたはORDERに表示されますBY句。 –