Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 每天计数和求和多个不带联接的表_Sql - Fatal编程技术网

Sql 每天计数和求和多个不带联接的表

Sql 每天计数和求和多个不带联接的表,sql,Sql,我要计算订单数量、发票交付量和每天订单数量、发票交付量的总和。 像这样: date nb orders orders$ nb delivery day1 5 1234,56 3 day2 6 665,88 7 .. 我第一次尝试这种方法时,一天可以,但一周不行,例如: SELECT (SELECT COUNT(OPP.OPPNUM_0) FROM OPPOR OPP WHERE OPP.CREDAT

我要计算订单数量、发票交付量和每天订单数量、发票交付量的总和。 像这样:

date  nb orders  orders$     nb delivery   
day1     5        1234,56       3
day2     6        665,88        7
..
我第一次尝试这种方法时,一天可以,但一周不行,例如:

SELECT  
  (SELECT COUNT(OPP.OPPNUM_0) FROM OPPOR OPP WHERE OPP.CREDAT_0=%1%),
  (SELECT SUM(OPP.OPPAMT_0) FROM OPPOR OPP WHERE OPP.CREDAT_0=%1%),
  (SELECT COUNT(SQH.SQHNUM_0) FROM SQUOTE SQH WHERE SQH.CREDAT_0=%1%),
  (SELECT SUM(SQH.YCUMHTSEL_0) FROM SQUOTE SQH WHERE SQH.CREDAT_0=%1%),
  (SELECT COUNT(SOH.SOHNUM_0) FROM SORDER SOH WHERE SOH.CREDAT_0=%1%),
  (SELECT SUM(SOH.ORDNOT_0) FROM SORDER SOH WHERE SOH.CREDAT_0=%1%)
FROM    dual

MySQL提供内置查询功能,可按天过滤:

SELECT COUNT(*) FROM table_name WHERE anydatefiled >= NOW() - INTERVAL 1 DAY

如果OPP.CREDAT是一个日期,则使用介于而不是=。请添加您在Tag上使用的DBMS我不认为您可以在此处避免联接,因为即使您的查询不包含联接kehywords,DBMS仍必须像联接(或叉积)中那样混合和匹配值你能做的就是使用半连接技术来减少任何连接开销。你能详细说明一下为什么你不想做
join
s吗?这只是性能问题吗?如果是这样,您可以使用其他技术来提高
JOIN
s的性能。