使用php显示来自多个表的数据

时间:2015-08-20 15:24:07

标签: php mysql

我有两张桌子

tblData
ID Name
1  ABC
2  XYZ

tblDetails  
ID DataID PayDate     Amount ApprovedDate
1  1      15-08-2015  200    20-18-2015 
2  1      16-08-2015  300    20-18-2015
3  1      17-08-2015  50     20-18-2015 
4  2      18-08-2015  100    21-18-2015   
5  2      19-08-2015  500    21-18-2015  

我需要得到如下结果

ID          Duration                TotalAmount ApprovedDate 
1   15-08-2015 - 17-08-2015         550         20-18-2015  
2   18-08-2015 - 19-08-2015         600         21-18-2015  

我该如何做到这一点?

2 个答案:

答案 0 :(得分:6)

似乎简单的GROUP BY和一些聚合函数可以完成这项工作:

SELECT DataID, CONCAT(MIN(PayDate), ' - ', MAX(PayDAte)) AS  Duration,
       SUM(Amount) AS TotalAmount, MAX(ApprovedDate) AS ApprovedDate 
FROM tblDetails
GROUP BY DataID

Demo here

注意:表tblData似乎在生成所需的结果集方面没有任何作用。

答案 1 :(得分:0)

您可以在查询中使用联接,它将来自不同表的数据合并为一个。 Simple example