SQL在联接没有记录时显示记录

SQL在联接没有记录时显示记录,sql,join,Sql,Join,如果(tblProductOptions.ID=5)那么它可以工作,有一个ID=5的选项。如果它是(tblProductOptions.ID=99999),则它不返回任何内容,因为没有ID=99999的选项 我想修改该语句,使其在传递无效选项ID时仍然返回产品记录!这可能吗 谢谢 将交叉连接更改为左连接,并且(因为WHERE将结果限制为非空)更改您的WHERE to be SELECT tblProducts.productName, tblProducts.ba

如果
(tblProductOptions.ID=5)
那么它可以工作,有一个ID=5的选项。如果它是
(tblProductOptions.ID=99999)
,则它不返回任何内容,因为没有ID=99999的选项

我想修改该语句,使其在传递无效选项ID时仍然返回产品记录!这可能吗


谢谢

交叉连接
更改为
左连接
,并且(因为WHERE将结果限制为非空)更改您的WHERE to be

SELECT     tblProducts.productName, 
           tblProducts.basePrice, 
           tblProductOptions.optionDescription
FROM       tblProducts CROSS JOIN tblProductOptions
WHERE      (tblProducts.ID = 3) AND (tblProductOptions.ID = 5)

交叉连接
更改为
左连接
,并且(因为WHERE将结果限制为非空)更改您的WHERE to be

SELECT     tblProducts.productName, 
           tblProducts.basePrice, 
           tblProductOptions.optionDescription
FROM       tblProducts CROSS JOIN tblProductOptions
WHERE      (tblProducts.ID = 3) AND (tblProductOptions.ID = 5)

交叉连接是笛卡尔积。。可能不是你想要的。
我建议改为内部联接,交叉联接是笛卡尔积。。可能不是你想要的。 我建议改为内部连接

选择tblProducts.productName、tblProducts.basePrice、tblProductOptions.Option来自tblProducts的说明左外部连接tblProductOptions位于tblProductOptions.ID=9上,其中(tblProducts.ID=3)非常有效谢谢:)选择tblProducts.productName,tblProducts.basePrice,tblProductOptions.OPTIONE来自tblProducts LEFT OUTER的说明在tblProductOptions.ID=9上加入tblProductOptions,其中(tblProducts.ID=3)起作用非常感谢:)