gpt4 book ai didi

mysql - 将多个 SQL select 语句组合成列

转载 作者:行者123 更新时间:2023-11-29 02:00:58 24 4
gpt4 key购买 nike

我很难全神贯注于此,非常感谢任何帮助。

我有两个 select 语句连接到 1 个或多个表。

SELECT repinfo.repName, SUM(callstatssummary.CallsIn)
FROM repinfo
LEFT JOIN callstatssummary
ON repinfo.isaacID = callstatssummary.IsaacID AND callstatssummary.ShiftDate >= '2013-02-10' AND callstatssummary.ShiftDate <= '2013-02-16'
GROUP BY repinfo.repName;

第一个语句的输出是 repinfo 表中每个人的列表,以及他们在一周内接听的电话总数。我使用左连接将没有接听电话的人包括在结果中。

SELECT repinfo.repName, SUM(`1036`.afterRgu) - SUM(`1036`.priorRgu)
FROM repinfo
JOIN reporders
ON repinfo.repID = reporders.oRep
JOIN `1036`
ON reporders.workOrder = `1036`.workOrder AND `1036`.entryDate >= '2013-02-10' AND `1036`.entryDate <= '2013-02-16' AND `1036`.afterRgu >= `1036`.priorRgu
GROUP BY repinfo.repName;

第二个语句输出每个人在一周内销售的产品数量。 repinfo 表包含有关代表的信息,它与 reporders 表连接以匹配工单。 1036表有订单的详细信息。

我正在寻找类似这样的输出 - 基本上结合了两个选择语句的输出:

|  repName  |  SUM(callstatssummary.CallsIn) |  SUM(`1036`.afterRgu) - SUM(`1036`.priorRgu)  |
______________________________________________________________________________________________
| Bruce W | 41 | 13 |
| Cathy M | 84 | 17 |
| Jonah S | NULL | 29 |

有什么建议吗?

最佳答案

组合这些语句的一种方法是使它们中的每一个都成为派生表/内联 View 并加入repName

请注意:如果两个代表可以具有相同的名称,显然您希望加入一个代表 ID 号(或您称之为 repinfo 表的主键的任何名称)。

select 
r.repName, c.sumCallsIn, o.sumProdSold
from
repinfo r
left join (
SELECT repinfo.repName,
SUM(callstatssummary.CallsIn) sumCallsIn
FROM repinfo
LEFT JOIN callstatssummary
ON repinfo.isaacID = callstatssummary.IsaacID
AND callstatssummary.ShiftDate >= '2013-02-10'
AND callstatssummary.ShiftDate <= '2013-02-16'
GROUP BY repinfo.repName
) c
on c.repName = r.repName
left join (
SELECT repinfo.repName,
SUM(`1036`.afterRgu) - SUM(`1036`.priorRgu) sumProdSold
FROM repinfo
JOIN reporders
ON repinfo.repID = reporders.oRep
JOIN `1036`
ON reporders.workOrder = `1036`.workOrder
AND `1036`.entryDate >= '2013-02-10'
AND `1036`.entryDate <= '2013-02-16'
AND `1036`.afterRgu >= `1036`.priorRgu
GROUP BY repinfo.repName
) o
on r.repName = o.repName
order by r.repName;

关于mysql - 将多个 SQL select 语句组合成列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15034718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com