-1

我有一张像这样的大桌子:

Date   Price1   Price2
1      13       14.9
2      13.1     NULL
3      NULL     14
4      NULL     14.5
5      13       14

我想填充 NA,以便我在 SQL 中的表如下所示:

Date   Price1   Price2
1      13       14.9
2      13.1     14.9
3      13.1     14
4      13.1     14.5
5      13       14

我对SQL真的很陌生,所以请原谅。我在这里搜索,似乎您可以在 R 中执行此操作,但我应该如何在 SQL 中执行此操作。

我正在使用 Microsoft SQL Server 管理。此外,我似乎无法弄清楚如何正确插入表格,他们不会让我发布照片。所以,很抱歉格式化。

4

1 回答 1

1

尝试这个:

UPDATE a
  SET a.Price1 = b.Price1
  FROM <YOUR-TABLE> a CROSS APPLY 
    (
        SELECT TOP 1 Price1
          FROM <YOUR-TABLE> b
        WHERE a.Date > b.Date
          AND Price1 <> 'NA'
            ORDER BY b.Date DESC
    ) b

    UPDATE a
  SET a.Price2 = b.Price2
  FROM <YOUR-TABLE> a CROSS APPLY 
    (
        SELECT TOP 1 Price2
          FROM <YOUR-TABLE> b
        WHERE a.Date > b.Date
          AND Price2 <> 'NA'
            ORDER BY b.Date DESC
    ) b
于 2012-07-18T14:15:47.937 回答