我想嘗試將值從表中的一條記錄復制到同一表中同一列的另一條記錄。
UPDATE
[PDF]
SET
[PDF].[description] = [MISC].[description]
FROM (
SELECT
[PDF].[TPYE]
,[ID]
,[PDF].[description]
FROM [DB1] AS [PDF]
INNER JOIN (
SELECT
[TYPE]
[description]
[ID]
FROM [DB1]
WHERE [TYPE] = 'MISC'
) AS [MISC] ON [PDF].[ID] = [MISC].[ID]
WHERE
[PDF].[TPYE] = 'PDF'
為了獲得更多說明,我添加了螢屏截圖。在此處輸入圖片說明
該表包含幾千行,我想將描述從一行復制到另一行 - 取決于 NUMBER 和 TYPE。
uj5u.com熱心網友回復:
以這個為例。你非常接近。
DECLARE @DB1 AS TABLE ( ID INT NOT NULL
, TYPE NVARCHAR(4) NOT NULL
, Description NVARCHAR(255) NULL )
INSERT INTO @DB1 ( ID, TYPE, Description )
VALUES ( 1, N'PDF', N'' )
, ( 1, N'MISC', N'Description 1' )
, ( 2, N'PDF', N'' )
, ( 2, N'MISC', N'Description 2' )
SELECT *
FROM @DB1
WHERE TYPE = 'PDF'
UPDATE PDF
SET PDF.Description = MISC.Description
FROM @DB1 PDF
JOIN @DB1 MISC ON MISC.ID = PDF.ID
AND MISC.TYPE = 'MISC'
WHERE PDF.TYPE = 'PDF'
SELECT *
FROM @DB1
WHERE TYPE = 'PDF'
請注意,如果您可以包含一些示例資料供其他讀者使用,那么將來會有所幫助。我創建表結構并用一些測驗資料填充它的方式是如何做到這一點的基本示例。
如果您發現某個答案有用且正確,請不要忘記將其標記為正確答案并點贊。這將幫助其他用戶知道什么是有效的。這通常適用于整個網站,而不僅僅是您自己的問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/359192.html
標籤:sql sql-server 加入 选择 sql更新
上一篇:PySparkSQL連接表
下一篇:如何向下移動單選按鈕?[復制]
