После этого вам нужно выражение case
:
SELECT least(supplier1, supplier2, supplier3, supplier4, supplier5) AS minValue,
(CASE least(supplier1, supplier2, supplier3, supplier4, supplier5)
WHEN supplier1 THEN 'supplier1'
WHEN supplier2 THEN 'supplier2'
WHEN supplier3 THEN 'supplier3'
WHEN supplier4 THEN 'supplier4'
WHEN supplier5 THEN 'supplier5'
END) as column_name_for_min
FROM priceTable
WHERE partno = 'OL0003';
Это было бы намного проще, если бы вы лучше структурировали свои данные.У вас должна быть таблица PartSuppliers
с одной строкой на деталь и на поставщика.
Тогда вы можете получить наименьшее значение различными способами, например:
select ps.*
from partsuppliers ps
where ps.cost = (select min(ps2.cost)
from partsuppliers ps2
where ps2.partno = ps.partno
);