2014-04-28 38 views
1

我已经在本地主机上建立了一个代码sql代码(使用XAMPP,phpmyadmin 4.1.6)并且它完美地工作。但是当我上传使用phpmyadmin 3.5.7的服务器上的所有内容时,代码无法正常工作。我很确定在本地主机和服务器上都有相同的数据和结构。当我通过phpmyadmin sql查询在服务器上运行代码时,#1146错误出现,“表'solve.Invoice'不存在”,我相信它存在。这是版本的错误吗?php myadmin 3.5.7#1146表不存在

这里是SQL代码:

SELECT Com.CompanyName,IFNULL(SUM(InvIn.total),0) as SumOfTotal, IFNULL(SUM(inc.income),0) as SumOfIncome, IFNULL(SUM(InvIn.total),0)-IFNULL(SUM(inc.income),0) as difference 
FROM companies Com LEFT JOIN 
Invoice Inv ON Inv.CompaniesID=Com.ID JOIN 
InvoiceInput InvIn ON InvIn.InvoiceID=Inv.ID LEFT JOIN 
Income inc ON inc.companyID=com.ID 
GROUP BY Com.CompanyName 
ORDER BY SumofTotal desc 

表发票: http://i.stack.imgur.com/cxDu8.jpg

表企业:

http://i.stack.imgur.com/R1260.jpg

+0

表invoiceinput: http://i.stack.imgur.com/7HpLQ.jpg 表收入: HTTP ://i.stack.imgur.com/8VbeT.jpg – funny

回答

1

我想这是所有关于资本...尝试这个:

SELECT com.CompanyName, IFNULL(SUM(InvIn.total) , 0) 
AS SumOfTotal, IFNULL(SUM(inc.income) , 0) 
AS SumOfIncome, IFNULL(SUM(InvIn.total) , 0) - IFNULL(SUM(inc.income) , 0) 
AS difference FROM companies com LEFT JOIN invoice Inv ON Inv.CompaniesID = com.ID 
JOIN invoiceinput InvIn 
ON InvIn.InvoiceID = Inv.ID 
LEFT JOIN income inc 
ON inc.companyID = com.ID 
GROUP BY com.CompanyName 
ORDER BY SumOfTotal DESC LIMIT 0 , 30 
1

不要使用COM和COM,例如

FROM companies Com LEFT JOIN 
Income inc ON inc.companyID=com.ID 
相关问题