私は2つのテーブルを持っています。
表1
CREATE TABLE ##MedianTemp1 (
ProductID INT NOT NULL,
CountryCodeID INT NOT NULL,
Y1977 INT NULL,
Y1978 INT NULL,
Y1979 INT NULL PRIMARY KEY CLUSTERED (ProductID,CountryCodeID))
INSERT INTO ##MedianTemp1 VALUES
(1, 100, 0, 0, 0),
(2, 100, 0, 0, 0),
(3, 100, 0, 0, 0),
(4, 100, 0, 0, 0),
(5, 100, 1, 0, 0),
(6, 100, 1, 1, 0),
(7, 100, 1, 1, 1),
(8, 100, 1, 1, 1),
(9, 100, 1, 1, 1),
(1, 101, 0, 0, 0),
(2, 101, 0, 0, 0),
(3, 101, 0, 0, 0),
(4, 101, 1, 0, 0),
(5, 101, 1, 1, 0),
(6, 101, 1, 1, 1),
(7, 101, 1, 1, 1),
(8, 101, 1, 1, 1),
(9, 101, 1, 1, 1)
表 2
CREATE TABLE ##MedianTemp2 (
ProductID INT NOT NULL,
CountryCodeID INT NOT NULL,
Y1977 FLOAT(53) NULL,
Y1978 FLOAT(53) NULL,
Y1979 FLOAT(53) NULL PRIMARY KEY CLUSTERED (ProductID,CountryCodeID))
INSERT INTO ##MedianTemp2 VALUES
(1, 100, 5, 4, 1),
(2, 100, 6, 3, 2),
(3, 100, 1, 2, 4),
(4, 100, 2, 1, 5),
(5, 100, 6, 2, 6),
(6, 100, 7, 3, 7),
(7, 100, 1, 2, 3),
(8, 100, 7, 1, 8),
(9, 100, 9, 6, 9),
(1, 101, 5, 4, 1),
(2, 101, 6, 3, 2),
(3, 101, 1, 2, 4),
(4, 101, 2, 1, 5),
(5, 101, 6, 2, 6),
(6, 101, 7, 3, 7),
(7, 101, 1, 2, 3),
(8, 101, 7, 1, 8),
(9, 101, 9, 6, 9)
これを作成する必要があります:
##MedianResult (
ProductID INT NOT NULL,
CountryCodeID INT NOT NULL,
Y1977 FLOAT(53) NULL,
Y1978 FLOAT(53) NULL,
Y1979 FLOAT(53) NULL
PRIMARY KEY CLUSTERED (ProductID,CountryCodeID))
ProductID
クエリは、各年および各 CountryID (##medianTemp1
テーブルから) に対して、値'0'
を持ち、ProductID+1
を持つ唯一のものを見つける必要があります1
。
この設立productID
のために(毎年、国ごとに異なります)、##MedianTemp2
表の値を使用して式を適用する必要があります。Sum(ProductID, ProductID+1, ProductID+2)
.
私の説明が少し奇妙であることはわかっていますが、問題をより適切に説明する方法がわかりません。