J'ai 2 tables (il y a plus, mais un lié à la question) optionValue
et productStock
rejoindre plusieurs champs à une table
Je veux obtenir les noms d'options de la table optionValue pour chaque option1, option2, option3 (la requête ci-dessous devrait aider à faire plus de sens)
ci-dessous est ma tentative, la requête en cours, il ne fonctionne que si toutes les options sont définies, mais est retourne nULL si une option est pas définie:
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
Je comprends pourquoi il ne fonctionne pas parce que lorsque l'option est null
est ther aucune correspondance à la table optionValue
mais je ne suis pas sûr de savoir comment le fixer (si elle est réparable)
Je lis dans quelques endroits à propos de l'utilisation de IN ou COALESCE mais je ne comprends pas comment les utiliser.