mysql - 有关日期和加入的问题

标签 mysql sql

我正在做一个项目,试图合并三个不同的表。 表 1 和表 2 有一行具有相同的 ID,在本例中是 product_id,表 2 和表 3 也是如此。我在发送查询时使用日期作为条件,我在哪里只应该得到适合给定框架的结果。这是我的代码:

select order.orderDate, orderLine.order_id, product.product_id, product.name
from order, product
inner join orderLine
on product.product_id = orderLine.product_id
where order.orderDate between  '2009-09-01' and '2009-09-30' ;

当我使用它时,我只得到一个日期,包含在订单表中。我还从不符合给定日期的行中获取信息。

如果这只是令人困惑,我很抱歉。我的英语不是很好,所以很难理解。另外,如果您需要更多信息,请告诉我。此站点和 SQL 都是新手。

最佳答案

尝试连接所有三个表:

select o.orderDate, ol.order_id, p.product_id, p.name
from order as o 
inner join orderLine as ol
   on ol.order_id = o.order_id
inner join  product as p on o
   on p.product_id = ol.product_id
where o.orderDate between  '2009-09-01' and '2009-09-30' ;

关于mysql - 有关日期和加入的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7406712/

相关文章:

sql - 在 SQL 中将数字拆分为范围

sql - 按年、月分组,然后在 ActiveRecord 3 中计数

mysql - 替换特定表中每一列中的字符串

mysql - 在mysql中创建持久变量(5.7)

java - 从 MySQL 的mediumblob 恢复后,PPT 文件损坏

sql - MySQL在值之前和之后插入文本

sql开头和结尾

mysql - 如何在mysql表中获取所有 child 的用户?

mysql - 如何使用限制查询获取特定 ID 的多条记录

mysql - 从一个表中减去另一表的行