【问题标题】:Combining two SQL tables into one sorted HTML output将两个 SQL 表组合成一个排序的 HTML 输出
【发布时间】:2015-09-15 19:21:28
【问题描述】:

我已经为我的两个 SQL 表创建了一个示例。第一个表需要一个简单的乘法来产生最终的“收入”,而第二个表将该值直接存储为“奖金”。我想要做的是创建一个 PHP 页面,它允许我选择任何员工,并让它生成一个 HTML 表(就像我的 sn-p 中的第三个表)。

我不确定是否可以在 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>

【问题讨论】:

    标签: php html sql


    【解决方案1】:

    每月数据(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
    

    BONUS DATA(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
    

    【讨论】:

      猜你喜欢
      • 2011-09-26
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-18
      • 1970-01-01
      • 2010-11-16
      相关资源
      最近更新 更多