这个问题在这里已经有答案了:
返回输入值的默认结果(2个答案)
两年前关门了。
我正在尝试执行一个查询,在该查询中,它从另一个表中检索属性和值。我遇到的问题是,它只返回与 order_property_values
table。我希望它返回所有的结果,即使它不能在 order_property_values
table。
这是我现在的疑问。
SELECT * FROM `properties` as t1
LEFT JOIN `order_property_values` AS t2
ON t1.`id` = t2.`property_id`
WHERE t1.`id`
IN (SELECT `property_id` FROM `assigned_properties`
WHERE `component_id`
IN (SELECT `component_id` FROM assigned_components
WHERE `product_id` = (SELECT `product_id`
FROM `order_items`
WHERE `id` = 1)
)
) AND t2.`order_id` = 13
这个查询以我想要的方式检索所有内容,但是没有空的匹配行。
这个 IN
只返回可能/可能不在 order_property_values
table。
我试过了 NOT IN
还有 IS NULL
但似乎无法让它发挥作用。
提前谢谢你救了我一天。
1条答案
按热度按时间2skhul331#