好的,我正在尝试比较两个表,然后从三分之一的名称中输入一个列表,以产生前10天的总值。查询运行但给我一个NULL结果,只有一个结果。如果我删除DATE_ADD并将其替换为数据库中的实际日期并将其放入左子句的值而不是使用子查询,我会得到我正在寻找的特定日期。我想要做的是创建一个名称列表,其中包含当天和过去10天的值。我相信我没有做到这一点,所以任何帮助都会受到赞赏,因为我对此很新。简单的查询很容易,但是像我这样复杂的东西对我来说是新的。
select sum(t.price) from td.trs as t
inner join td.order as o on o.trsid=t.id
inner join pts.product as p on p.id=o.grp_id
where t.invoice_date=DATE_ADD(CURRENT_DATE(),INTERVAL 10 DAY)
and left(t.mfgid,3) IN (select name from name.list);
答案 0 :(得分:1)
变化
where t.invoice_date=DATE_ADD(CURRENT_DATE(),INTERVAL 10 DAY)
到
where t.invoice_date >= DATE_ADD(CURRENT_DATE(),INTERVAL -10 DAY)
答案 1 :(得分:0)
您可能无法获得任何结果,因为您正在DATE_ADD
CURRENT_DATE()
,这将在未来10天给您一个日期。如果您想获得最近10天的所有项目,请使用
WHERE t.invoice_date BETWEEN CURRENT_DATE() AND DATE_SUB(CURRENT_DATE(), INTERVAL 10 DAY)