[英]SQL show record when join has no records
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时仍返回产品记录! 这可能吗?
谢谢!
CROSS JOIN是笛卡尔乘积..可能不是您想要的。 我建议改为INNER JOIN
将CROSS JOIN
更改为LEFT JOIN
,然后(由于WHERE将结果限制为NON null)将WHERE更改为
WHERE (tblProducts.ID = 3)
AND (tblProductOptions.ID = 5 OR tblProductOptions.ID IS NULL)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.