Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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
Mysql 如何从多个表msSQL中获取组数据_Mysql_Sql_Sql Server_Database_Mysql Error 1064 - Fatal编程技术网

Mysql 如何从多个表msSQL中获取组数据

Mysql 如何从多个表msSQL中获取组数据,mysql,sql,sql-server,database,mysql-error-1064,Mysql,Sql,Sql Server,Database,Mysql Error 1064,我想使用JOIN子句根据两个不同表中的日期对数据进行分组。从tblDailyProduction表中获取数据,但从tblCashBillBook表中获取NULL。 尝试了内部、左和右联接,但GROUP BY子句存在问题 您不需要按这两个日期分组,因为这些日期都放在join语句中 尝试将其更改为: tblDailyProduction +---------+------------+------------+------------+----------+----------+ | date |

我想使用
JOIN
子句根据两个不同表中的日期对数据进行分组。从
tblDailyProduction
表中获取数据,但从
tblCashBillBook
表中获取
NULL

尝试了
内部
联接,但
GROUP BY
子句存在问题

您不需要按这两个日期分组,因为这些日期都放在join语句中

尝试将其更改为:

tblDailyProduction
+---------+------------+------------+------------+----------+----------+
| date |      items | quantity| weight| wheatConsumed| |
+---------+------------+------------+------------+----------+----------+
tblCashBillbook
+---------+------------+------------+------------+----------+----------+
+---------+------------+------------+------------+----------+----------+
| date |      bagWeight | totalBags |
+---------+------------+------------+------------+----------+----------+



SELECT CAST(tblDailyProduction.date AS DATE) as DateField,
SUM(tblDailyProduction.quantity * tblDailyProduction.weight) 
AS   totalProduct,SUM(tblCashBillbook.totalBags * tblCashBillbook.bagWeight) 
AS   totalIssued
FROM tblDailyProduction
left join tblCashBillbook on tblDailyProduction.date=tblCashBillbook.date
GROUP BY CAST(tblDailyProduction.date AS DATE)

可能会导致一些问题的原因是您正在进行左联接,因此并非每一行都有
tblCashBillbook.date
值。如果他们这样做了,你不应该使用左连接,而应该使用内部连接。因此,您试图按某些行中可能为空的内容进行分组,因此,我再次建议您仅按tblDailyProduction date列进行分组。

SQL Server或MySQL?,选择您实际使用的内容。“但是GROUP BY有一个问题”,你能解释一下问题是什么吗?两个表的数据类型是什么?(不包括可能不包括时间的显示内容)包含时间组件;在这种情况下,您还需要在连接上投射日期?我想是的,考虑到您在选择和组中使用Case:CudioTo.Type Type(TBLADILYPRODION.DATE AS日期)= CAST(TBLCASBIPBoo.DATE日期),然后,如果您只希望两个表中的日期匹配,则内部联接。
GROUP BY dateField