[英]Combining two SQL tables into one sorted HTML output
我已经创建了我的两个 SQL 表的示例。 第一个需要一个简单的乘法来产生最终的“收入”,而第二个表将该值直接存储为“奖金”。 我想要做的是创建一个 PHP 页面,它允许我选择任何员工,并让它生成一个 HTML 表(如我的代码片段中的第三个表)。
我不确定是否可以在 SQL 查询中以某种方式“加入”这两个表。 我可以在每个表上运行两个单独的查询,两个生成两个单独的数组,但我不知道如何按日期顺序将表排序在一起。
MONTHLY DATA (sql table) <table> <tr> <th>Month</th> <th>Employee</th> <th>Net Sales</th> <th>Com%</th> </tr> <tr> <td>Oct</td> <td>Tim</td> <td>275,500</td> <td>.05</td> </tr> <tr> <td>Oct</td> <td>Sara</td> <td>219,200</td> <td>.06</td> </tr> <tr> <td>Nov</td> <td>Tim</td> <td>391,500</td> <td>.055</td> </tr> <tr> <td>Nov</td> <td>Sara</td> <td>359,800</td> <td>.06</td> </tr> <tr> <td>Nov</td> <td>Sara</td> <td>116,100</td> <td>.10</td> </tr> <tr> <td>Nov</td> <td>Alex</td> <td>217,100</td> <td>.04</td> </tr> </table> <br /> <br />BONUS DATA (sql table): <table> <tr> <th>Month</th> <th>Employee</th> <th>Bonus</th> </tr> <tr> <td>Oct</td> <td>Tim</td> <td>500</td> </tr> <tr> <td>Oct</td> <td>Sara</td> <td>800</td> </tr> <tr> <td>Nov</td> <td>Tim</td> <td>600</td> </tr> <tr> <td>Nov</td> <td>Sara</td> <td>950</td> </tr> <tr> <td>Nov</td> <td>Alex</td> <td>450</td> </tr> </table> <br /> <br />View Sara's Monthly Revenue (html output): <table> <tr> <th>Month</th> <th>Toal Rev</th> <th>Source</th> </tr> <tr> <td>Oct</td> <td>13,152</td> <td>"from sales"</td> </tr> <tr> <td>Oct</td> <td>800</td> <td>"bonus"</td> </tr> <tr> <td>Nov</td> <td>33,198</td> <td>"from sales"</td> </tr> <tr> <td>Nov</td> <td>950</td> <td>"bonus"</td> </tr> <tr> <td>.</td> </tr> <tr> <td></td> <td>48,100</td> <td>TOTAL</td> </tr> </table>
每月数据(sql 表)
Month Employee Net Sales Com%
Oct Tim 275,500 .05
Oct Sara 219,200 .06
Nov Tim 391,500 .055
Nov Sara 359,800 .06
Nov Sara 116,100 .10
Nov Alex 217,100 .04
奖金数据(sql表):
Month Employee Bonus
Oct Tim 500
Oct Sara 800
Nov Tim 600
Nov Sara 950
Nov Alex 450
您需要将两个表中的数据分别拉出,然后将它们联合在一起。 像下面这样的 SQL 将为您拉回数据,之后计算最终总数应该是直接的。
SELECT
Month,
[Total Rev],
Source
FROM
(
SELECT
Employee,
Month,
SUM([Net Sales] * [Com%]) AS [Total Rev],
'from sales' AS Source
FROM
[MONTHLY DATA]
GROUP BY
Employee,
Month
UNION
SELECT
Employee,
Month,
SUM(Bonus) AS [Total Rev],
'bonus'
FROM
[BONUS DATA]
GROUP BY
Employee,
Month
) AS tbl1
WHERE
Employee='Sara'
ORDER BY
Month,
Source DESC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.