データベースに 2 つの問題があります。1 つは名前の略称、もう 1 つは郵便番号が null です。2つのクエリを添付します。最初は私が変更したいものです。2 番目は目的のテーブルです。2 番目の例では、null zip が最も近い年の zip に置き換えられ、省略された FirstName が完全な Firstname に置き換えられます。テーブルの行数は 1,000 万のオーダーであることに注意してください。1 番目と 2 番目のテーブルの行数は、変換後に同じである必要があります。どうもありがとう。
----最初のクエリは、既存のテーブル コンテンツを表示します----------
DROP table t11;
CREATE table t11(id int, lastname varchar(20), FirstName varchar(10), Year1 int, Zip int, purchase varchar(10));
insert into t11 values
(1, 'Smith', 'Rick', 1996, 32203, 'tv')
, (1, 'Smith', 'R.', 1998, 32205, 'laptop')
, (1, 'Smith', 'Rick', 2000, null, 'LCD')
, (2, 'Derek', 'J.', 1996, 42201, 'Food')
, (2, 'Derek', 'Jeter', 1991, NULL, 'Egg')
SELECT top 1000 * FROM t11
----2 番目のクエリは、目的のテーブル コンテンツを表示します----------
DROP table t11;
CREATE table t11(id int, lastname varchar(20), FirstName varchar(10), Year1 int, Zip int, purchase varchar(10));
insert into t11 values
(1, 'Smith', 'Rick', 1996, 32203, 'tv')
, (1, 'Smith', 'Rick', 1998, 32205, 'laptop')
, (1, 'Smith', 'Rick', 2000, 32205, 'LCD')
, (2, 'Derek', 'Jeter', 1996, 42201, 'Food')
, (2, 'Derek', 'Jeter', 1991, 42201, 'Egg')
SELECT top 1000 * FROM t11