-1

次のような巨大なテーブルがあります。

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

SQL のテーブルが次のようになるように、NA を埋めたいと思います。

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 に答える