У меня есть таблица спецификаций, в которую я хочу вставить продажную цену (только один раз в первой строке) на основе ParentItemCode
.
Цена родительского элемента X
равна 1735, а Y
равна 3000.
Ниже приведены данные:
CREATE TABLE mytable (
LineNum INT NOT NULL PRIMARY KEY
,ParentPnxCode VARCHAR(1) NOT NULL
,ChildPnxCode VARCHAR(2) NOT NULL
,Unit VARCHAR(3) NOT NULL
);
INSERT INTO mytable (
LineNum
,ParentPnxCode
,ChildPnxCode
,Unit
)
VALUES (
10000
,'X'
,'x1'
,'PCS'
);
INSERT INTO mytable (
LineNum
,ParentPnxCode
,ChildPnxCode
,Unit
)
VALUES (
20000
,'X'
,'x2'
,'PCS'
);
INSERT INTO mytable (
LineNum
,ParentPnxCode
,ChildPnxCode
,Unit
)
VALUES (
30000
,'X'
,'x3'
,'PCS'
);
INSERT INTO mytable (
LineNum
,ParentPnxCode
,ChildPnxCode
,Unit
)
VALUES (
40000
,'X'
,'x4'
,'PCS'
);
INSERT INTO mytable (
LineNum
,ParentPnxCode
,ChildPnxCode
,Unit
)
VALUES (
50000
,'X'
,'x5'
,'PCS'
);
INSERT INTO mytable (
LineNum
,ParentPnxCode
,ChildPnxCode
,Unit
)
VALUES (
60000
,'X'
,'x6'
,'PCS'
);
INSERT INTO mytable (
LineNum
,ParentPnxCode
,ChildPnxCode
,Unit
)
VALUES (
70000
,'X'
,'x7'
,'PCS'
);
INSERT INTO mytable (
LineNum
,ParentPnxCode
,ChildPnxCode
,Unit
)
VALUES (
5000
,'Y'
,'y1'
,'PCS'
);
INSERT INTO mytable (
LineNum
,ParentPnxCode
,ChildPnxCode
,Unit
)
VALUES (
7500
,'Y'
,'y2'
,'PCS'
);
INSERT INTO mytable (
LineNum
,ParentPnxCode
,ChildPnxCode
,Unit
)
VALUES (
8750
,'Y'
,'y2'
,'PCS'
);
Ниже приводится желаемый результат:
+---------+---------------+--------------+------+-------------------+
| LineNum | ParentPnxCode | ChildPnxCode | Unit | Old Selling Price |
+---------+---------------+--------------+------+-------------------+
| 10000 | X | x1 | PCS | 1735 |
| 20000 | X | x2 | PCS | 0 |
| 30000 | X | x3 | PCS | 0 |
| 40000 | X | x4 | PCS | 0 |
| 50000 | X | x5 | PCS | 0 |
| 60000 | X | x6 | PCS | 0 |
| 70000 | X | x7 | PCS | 0 |
| 5000 | Y | y1 | PCS | 3000 |
| 7500 | Y | y2 | PCS | 0 |
| 8750 | Y | y2 | PCS | 0 |
+---------+---------------+--------------+------+-------------------+
Не могли бы вы помочь мне в достижении вышеуказанного результата? Спасибо за вашу поддержку заранее.