SELECT DISTINCT
V_NAME AS VendorName,
P_QOH AS Quantity,
CASE
WHEN P_DESCRIPT LIKE '%blade%' THEN 'Blade'
WHEN P_DESCRIPT LIKE '%screw%' THEN 'Screw Driver'
WHEN P_DESCRIPT LIKE '%hammer%' THEN 'Hammer'
ELSE 'OTHERS'
END AS ProductCategory
FROM Product, Vendor
WHERE
(
P_DESCRIPT LIKE '%blade%'
OR P_DESCRIPT LIKE '%screw%'
OR P_DESCRIPT LIKE '%hammer%'
)
AND Product.V_CODE = Vendor.V_CODE;
Этот запрос дает мне результат:
Gomez Bros.|32|Blade
Gomez Bros.|18|Blade
ORDVA, Inc.|8|Blade
ORDVA, Inc.|6|Blade
Bryson, Inc.|23|Hammer
Bryson, Inc.|172|Screw Driver
D&E Supply|237|Screw Driver
Gomez Bros.|237|Screw Driver
Gomez Bros.|23|Hammer
Bryson, Inc.|32|Blade
Bryson, Inc.|237|Screw Driver
Я пробовал множество вещей безрезультатно. То, что я хочу сделать, это объединить строки в наборе результатов, которые имеют одинаковое имя инструмента (например, «Молоток, Отвертка, Лезвие»), объединяя значения отдельных строк для каждой перечисленной компании.
Итак, например, я хочу, чтобы первые две строки читались как
Gomez Bros.|50|Blade
Объединение двух строк со значениями 32 и 18, которые обе имеют тип "Blade"
Любая помощь приветствуется! Я очень новичок в SQL. Бороться здесь. Спасибо всем.