我有一个查询,我觉得非常笨重,可以做优化 . 显然,第一件事就是不用子连接替换子连接,但它会影响我的子子查询 . 我很感激它的建议/解决方法 .
这是查询
SELECT *
FROM lastweeksales
WHERE productID = 1234
AND retailer NOT
IN (
SELECT retailer
FROM sales
WHERE productID
IN (
SELECT productID
FROM products
WHERE publisher = 123
)
AND DATE = date(now())
)
基本上,我想从上周销售的产品中得到一些产品,其中零售商不存在今天销售的产品,但销售应该只针对某个出版商的产品 .
:S:S:S
1 回答
您可以通过
INNER JOIN
轻松地将2个内部子查询组合在一起 . 对于外部的,你应该使用LEFT OUTER
join然后过滤retailer IS NULL
,如下所示: