来自查询的结果作为MySQL中WHERE语句的参数(Results from query as argument for WHERE statement in MySQL)

编程入门 行业动态 更新时间:2024-10-23 16:20:13
来自查询的结果作为MySQL中WHERE语句的参数(Results from query as argument for WHERE statement in MySQL)

我有两个表:订单和订单产品。 他们都有一个名为'order_id'的列。

订单有一个名为'date_created'的订单。ordersProducts有一个名为'SKU'的列

我想在日期范围内选择SKU。

我到目前为止的查询是:

SELECT `SKU` FROM `orderProducts` INNER JOIN orders ON orderproducts.order_id = orders.order_id WHERE orders.order_id in (SELECT id FROM orders WHERE date_created BETWEEN '2014-10-01' AND '2015-03-31' ORDER BY date_created DESC)

查询运行但它返回nothings。 我在这里想念的是什么?

I have two tables: orders and orderProducts. They both have a column called 'order_id'.

orders has a column named 'date_created' ordersProducts has a column named 'SKU'

I want to SELECT SKUs in within a date range.

My query so far is:

SELECT `SKU` FROM `orderProducts` INNER JOIN orders ON orderproducts.order_id = orders.order_id WHERE orders.order_id in (SELECT id FROM orders WHERE date_created BETWEEN '2014-10-01' AND '2015-03-31' ORDER BY date_created DESC)

The query runs but it returns nothings. What am I missing here?

最满意答案

尝试将date条件放在where子句中,不需要子查询:

select op.`SKU` from `orderProducts` op join `orders` o using(`order_id`) where o.`date_created` between '2014-10-01' and '2015-03-31'

Try putting date condition in the where clause, there is no need for the subquery:

select op.`SKU` from `orderProducts` op join `orders` o using(`order_id`) where o.`date_created` between '2014-10-01' and '2015-03-31'

更多推荐

本文发布于:2023-07-06 07:30:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1047339.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:语句   参数   MySQL   Results   statement

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!