繁体   English   中英

如何基于日期从两个表SQL中提取数据

[英]how to pull data from two tables SQL based on date

我有两个表... cloads和jpurch我需要使用一个查询从两个表中提取transactionamount和transaction date列。 我需要提取的交易必须在2016年1月1日至2016年3月1日之间。 显然,我在下面发布的查询无法正常工作,因为它甚至无法解决where语句中的jpurch。 交易日期不需要匹配。 我需要这些列的所有数据。

select c.transactiondate, c.transactionamount, d.transactiondate, d.transactionamount
from cloads c, jpurch d
where c.transactiondate between '2016-05-01' and '2016-06-06'

@sanky发送有关联接的好文章,是一个很好的起点。 @SujeetSinha还提出了有关如何将一个表与另一个表关联的观点。

我怀疑答案是您只希望在匹配的表之间记录( INNER JOIN ),并且要在transactiondate从一个表到另一个表之间进行匹配。 在这种情况下,您可以编写如下查询。 因为两个表都必须在inner join cloads上匹配,所以cloadswhere语句还将过滤jpurch

select
    c.transactiondate
    ,c.transactionamount
    ,d.transactiondate
    ,d.transactionamount
from
    cloads c
    INNER JOIN jpurch d 
    ON c.transactiondate = d.transactiondate
where
    c.transactiondate between '2016-05-01' and '2016-06-06'

感谢您提供更多信息作为一个社区,我们似乎仍在等待有关您希望数据看起来如何的帮助,以最好地指导您进行查询。 如果您可以从每个表格中提取3-4行,请向我们显示开始的数据,并模拟您希望它们从这些行的外观,那么我们将更好地为您提供帮助。

如果没有任何关系并进入1个表,则意味着您要将一个表APPEND到另一个表上? 如果是这样,则根据要返回所有数据还是仅返回DISTINCT值,使用UNION or UNION ALL ALL意味着仅靠UNION就可以为您提供一切,意味着不要重复union语句顶部表中已存在的行。

select
    c.transactiondate
    ,c.transactionamount
from
    cloads c
where
    c.transactiondate between '2016-05-01' and '2016-06-06'

UNION ALL

select
    d.transactiondate
    ,d.transactionamount
from
    jpurch d 
where
    d.transactiondate between '2016-05-01' and '2016-06-06'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM