Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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 SQL连接多个表_Mysql_Sql - Fatal编程技术网

Mysql SQL连接多个表

Mysql SQL连接多个表,mysql,sql,Mysql,Sql,是的,我知道有一些题目,但我真的读了所有的题目,不能解决问题。 我在SQLFIDLE上显示了一个sql表: 所以我想要这样的结果: 我的意思是,我希望所有的数据都是结果,但我得到的是所有的数据,但不是序列列表,而是写空的。。。以下是我尝试过的: SELECT sum(invoiceinput.total) as cons, materialtype.`type`, materialserie.serie, companies.companyName

是的,我知道有一些题目,但我真的读了所有的题目,不能解决问题。 我在SQLFIDLE上显示了一个sql表:

所以我想要这样的结果:

我的意思是,我希望所有的数据都是结果,但我得到的是所有的数据,但不是序列列表,而是写空的。。。以下是我尝试过的:

SELECT sum(invoiceinput.total) as cons,
   materialtype.`type`,
         materialserie.serie,
         companies.companyName
         FROM invoiceinput JOIN
         invoice ON invoiceinput.invoiceID=invoice.ID JOIN
         companies ON companies.ID=invoice.companiesID JOIN
         materialtype ON materialtype.ID=invoiceinput.materialTypeID LEFT JOIN
         materialserie ON materialserie.ID=invoiceinput.materialTypeID 
         WHERE invoiceinput.materialTypeID 
         GROUP BY materialtype.ID, materialserie.ID, companies.ID, MONTH(21/04/2014)
         ORDER BY MONTH(21/04/2014), companies.ID

因此,materialserie.ID=invoiceinput.materialserieID上应该有materialserie,而不是materialserie.ID=invoiceinput.materialTypeID上的materialserie。你能用你的样本数据更新SQLFIDLE以获得上述结果吗?@Dave抱歉,我无法处理:)我之所以这么说是因为很难理解,看看他是如何生活的。如果你能添加它,那么得到回复的机会就更多了。但是,我也会在没有数据的情况下尝试。我实际得到的答案是:join中有一个错误:而不是materialserie上的join materialserie。ID=invoiceinput.materialTypeID应该是materialserie.ID=invoiceinput.materialserieID
SELECT sum(invoiceinput.total) as cons,
   materialtype.`type`,
         materialserie.serie,
         companies.companyName
         FROM invoiceinput JOIN
         invoice ON invoiceinput.invoiceID=invoice.ID JOIN
         companies ON companies.ID=invoice.companiesID JOIN
         materialtype ON materialtype.ID=invoiceinput.materialTypeID LEFT JOIN
         materialserie ON materialserie.ID=invoiceinput.materialserieID 
         WHERE invoiceinput.materialTypeID 
         GROUP BY materialtype.ID, materialserie.ID, companies.ID, MONTH(21/04/2014)
         ORDER BY MONTH(21/04/2014), companies.ID