У меня есть 7 различных типов компонентов, которые начинаются с APC, BPC, CPC, DPC, FPC, LPC, MPC , и они подключены к ParentPart.В некоторых случаях есть три компонента (двух видов), прикрепленных к родительской части, в других 5 и т. Д. Из таблицы, приведенной ниже, я хотел бы узнать, какие компоненты находятся в родительской части, а какие нет в родительской части..
Код для таблицы (чтобы помочь пользователям, чтобы они могли легко положить ее в скрипку или куда-то:
CREATE TABLE #test(
PARENTPART varchar(20),
ParentDescription varchar(15),
Component varchar(15),
Altkey varchar(20),
Qty int,
)
INSERT INTO #test
VALUES ('APF.20.015.09','Person Comp','APC2032','000123',1),
('APF.20.015.09','Person Comp','APC2038','000223',1),
('APF.20.015.09','Person Comp','CPC3042','000103',1),
('APF.20.015.09','Person Comp','DPC4032','000124',1),
('APF.20.019.09','Laptop','LPC2039','000123',1),
('APF.20.019.09','Laptop','FPC2034','0001L3',1),
('APF.20.019.09','Laptop','FPC1092','0001K3',1),
('APF.20.019.09','Laptop','CPCL032','0001M3',1);
--Below is the table generated from the above code.
PARENTPART | ParentDescr| Component| AltKey |Qty|
APF.20.015.09| Person Comp| APC2032| 000123| 1 |
APF.20.015.09| Person Comp| APC2038| 000223| 1 |
APF.20.015.09| Person Comp| CPC3042| 000103| 1 |
APF.20.015.09| Person Comp| DPC4032| 000124| 1 |
APF.20.019.09| Laptop | LPC2039| 000123| 1 |
APF.20.019.09| Laptop | FPC2034| 0001L3| 1 |
APF.20.019.09| Laptop | FPC1092| 0001K3| 1 |
APF.20.019.09| Laptop | CPCL032| 0001M3| 1 |
Я пробовал следующий запрос наприведенная выше таблица, но она дает мне только результат о существующих компонентах.
SELECT *,(CASE WHEN Component LIKE 'APC%' OR Component LIKE 'BPC%' OR Component LIKE 'CPC%' OR Component LIKE 'DPC%' OR Component LIKE 'FPC%'
OR Component LIKE 'LPC%' OR Component LIKE 'MPC%' THEN 'PRESENT' ELSE NULL END) as C FROM #test;
Я хотел бы следующий вывод:
PARENTPART | ParentDescr| Component| AltKey |Qty |
APF.20.015.09| Person Comp| APC2032| 000123| 1 |
APF.20.015.09| Person Comp| APC2038| 000223| 1 |
APF.20.015.09| Person Comp| CPC3042| 000103| 1 |
APF.20.015.09| Person Comp| DPC4032| 000124| 1 |
APF.20.015.09| Person Comp| BPC | NULL | NULL|
APF.20.015.09| Person Comp| FPC | NULL | NULL|
APF.20.015.09| Person Comp| MPC | NULL | NULL|
APF.20.015.09| Person Comp| LPC | NULL | NULL|
APF.20.019.09| Laptop | LPC2039| 000123| 1 |
APF.20.019.09| Laptop | FPC2034| 0001L3| 1 |
APF.20.019.09| Laptop | FPC1092| 0001K3| 1 |
APF.20.019.09| Laptop | CPCL032| 0001M3| 1 |
APF.20.019.09| Laptop | APC | NULL | NULL|
APF.20.019.09| Laptop | BPC | NULL | NULL|
APF.20.019.09| Laptop | DPC | NULL | NULL|
APF.20.019.09| Laptop | MPC | NULL | NULL|