我有 2 张桌子(还有更多但与问题无关)optionValue
和productStock
我想从 optionValue 表中为每个 option1、option2、option3 获取选项名称(下面的查询应该有助于更有意义)
以下是我的尝试,当前查询仅在设置了所有选项时才有效,但如果未设置任何选项则返回 null:
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
I understand why it doesn't work because when the option is null
ther is no matches to the optionValue
table but im not sure how to fix it (if it is fixable)
我在几个地方阅读了有关使用 IN 或 COALESCE 的信息,但我不明白如何使用它们。