У меня есть 2 таблицы (есть больше, но не связанных с вопросом) optionValue
и productStock
Я хочу получить имена параметров из таблицы optionValue для каждого параметра option1, option2, option3 (приведенный ниже запрос поможет разобраться в этом)
ниже - моя попытка, в текущем запросе он работает, только если установлены все параметры, но возвращает ноль, если какой-либо параметр не установлен:
SELECT s.option1, n1.name s.optionName1,
s.option2, n2.name s.optionName2,
s.option3, n3.name s.optionName3
FROM productStock as s
INNER JOIN optionValue n1 on s.option1 = v1.optionValueID
INNER JOIN optionValue n2 on s.option2 = v2.optionValueID
INNER JOIN optionValue n3 on s.option3 = v3.optionValueID
WHERE s.productStockID = 1
Я понимаю, почему это не работает, потому что когда опция null
, то нет совпадений с таблицей optionValue
, но я не уверен, как это исправить (если это можно исправить)
Я читал в нескольких местах об использовании IN или COALESCE, но я не понимаю, как их использовать.