我有两张桌子
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
我该如何做到这一点?
答案 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
注意:表tblData
似乎在生成所需的结果集方面没有任何作用。
答案 1 :(得分:0)
您可以在查询中使用联接,它将来自不同表的数据合并为一个。 Simple example