gpt4 book ai didi

mysql - 在 MySQL 中将两个查询连接在一起

转载 作者:行者123 更新时间:2023-11-29 09:57:41 25 4
gpt4 key购买 nike

我有两个单独的查询:EmployeeManager,它们工作得很好并且符合我的要求,但我希望合并所有COLUMNS来自两个查询。这可能吗?我显然不期望得到完整的答案,但希望对实现这一目标的可能方法有一些见解。

员工查询:

SELECT
shopTableRef.shopname AS "Shop Name:",
perTableRef.personname AS "Employee Name:",
COUNT(inStoreTableRef.payid) AS "Total Sales:",
SUM(payTableRef.amount) AS "Sales Value (£):"
FROM
fss_Person perTableRef
JOIN
fss_Employee empTableRef ON perTableRef.personid = empTableRef.empid
JOIN
fss_InstorePayment inStoreTableRef ON empTableRef.empid = inStoreTableRef.empid
JOIN
fss_Payment payTableRef ON payTableRef.payid = inStoreTableRef.payid
JOIN
fss_Shop shopTableRef ON payTableRef.shopid = shopTableRef.shopid
WHERE
empTableRef.roleid = 2
GROUP BY
perTableRef.personname
ORDER BY
COUNT(inStoreTableRef.payid) DESC

经理查询:

SELECT
perTableRef.personname AS "Manager's Name:"
FROM
fss_Person perTableRef
JOIN
fss_Employee empTableRef ON perTableRef.personid = empTableRef.empid
JOIN
fss_Manager manTableRef ON empTableRef.empid = manTableRef.empid
WHERE
empTableRef.roleid = 1
GROUP BY
perTableRef.personname

我尝试过以下方法:UNION、UNION ALL、INNER JOIN、JOIN 和嵌套查询,但似乎都不起作用。

最佳答案

UNION 或 UNION ALL 应该可以通过一些调整来使用。

  1. 每个查询必须返回相同数量/类型的列,因此请使用 NULL AS "Shop Name:" 等填写 Manager 查询以查找缺失的列。
  2. 合并查询只允许使用一个 ORDER BY,因此请确保它出现在最后,并通过其别名来引用排序列“Total Sales:”

关于mysql - 在 MySQL 中将两个查询连接在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53565696/

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