SELECT tblProducts.productName,
tblProducts.basePrice,
tblProductOptions.optionDescription
FROM tblProducts CROSS JOIN tblProductOptions
WHERE (tblProducts.ID = 3) AND (tblProductOptions.ID = 5)
如果(tblProductOptions.ID = 5)
然后它有效,则有一个ID = 5的选项。如果它是(tblProductOptions.ID = 99999)
则它不返回任何内容,因为ID = 99999没有选项。
我想修改声明,以便在传递无效选项ID时仍然返回产品记录!这可能吗?
谢谢!
答案 0 :(得分:3)
CROSS JOIN是一种笛卡尔产品..可能不是你想要的。 我建议改为INNER JOIN
答案 1 :(得分:1)
将CROSS JOIN
更改为LEFT JOIN
,并且(因为它们将结果限制为非空值)将您的WHERE更改为
WHERE (tblProducts.ID = 3)
AND (tblProductOptions.ID = 5 OR tblProductOptions.ID IS NULL)