gpt4 book ai didi

SQL:使用存储在 table_1 中的值根据 table_2 中列出的变量填充 table_2 中的列

转载 作者:搜寻专家 更新时间:2023-10-30 20:58:03 24 4
gpt4 key购买 nike

我是 sql 的新手,在学校上过课,但它非常基础。我有 2 个表,我想以某种方式链接在一起,但不知道从哪里开始。我有一张月表,列出了该月的员工和完成的服务电话。每个员工每次通话和通话类型的报酬都不同。所以我有一个佣金表,其中列出了每个员工、服务电话的类型,列中的数据是每个员工为每种不同类型的电话支付的美元金额。我想链接每个表中的员工 ID,这样我就可以做这样的事情......

SELECT sum(TypeOfCall) as "Total Commission" 
from December
where TypeOfCall='abc' and EmployeeID='John';

但是 TypeOfCall 列中 MothTable 中存储的数据是一个变量,如 'abc' 或 'cdf' 每个变量都在 CommissionsTable 中列出并赋予一个值。如何使用 CommissionsTable 中列出的值获取 MonthTableTypeOfCall 列的总和?

实际的表、列和类型如下:

CREATE TABLE "December" (
"EmployeeID" INTEGER NOT NULL,
"InvoiceType" VARCHAR (6),
"DR" VARCHAR (8),
"TypeOfCall" VARCHAR (6),
"CommissionType" VARCHAR (6),
"Date DD/MM/YY" VARCHAR (10),
"InvoiceNumber" INTEGER,
"InvoiceAmount" FLOAT (6),
"KeyCode" VARCHAR(20)
)

和...

CREATE TABLE "Commissions" (
"EmployeeID" VARCHAR(25) PRIMARY KEY NOT NULL UNIQUE,
"T3" INTEGER NOT NULL,
"T5" INTEGER NOT NULL,
"T7" INTEGER NOT NULL,
"7B" INTEGER NOT NULL,
"Other10" INTEGER NOT NULL,
"Other12" INTEGER NOT NULL,
"Other13" INTEGER NOT NULL,
"Other14" INTEGER NOT NULL,
"Other15" INTEGER NOT NULL
)

最佳答案

你真正需要的是SUM(CommissionsTable.value) (用 INNER JOIN 替换正确的列名)在月表和 CommissionsTable 之间.

SELECT
December.TypeOfCall,
SUM(CommissionsTable.value) AS "Total Commission"
FROM
December
/* Substitute the correct column name for ComissionsTable.TypeOfCall */
INNER JOIN CommissionsTable WHERE December.TypeOfCall = CommissionsTable.TypeOfCall
WHERE
December.TypeOfCall = 'abc'
AND EmployeeID = 'John'
/* GROUP BY needed if you were retrieving more than just 'abc' */
GROUP BY December.TypeOfCall

但是,每个月都有一个单独的表格是不合适的。相反,您的电话列表应包括每个电话的日期值及其类型和 EmployeeID .像这样的东西:

CREATE TABLE calls (
EmployeeID VARCHAR(32) NOT NULL,
TypeOfCall CHAR(3) NOT NULL,
CallDate INTEGER NOT NULL
)

关于SQL:使用存储在 table_1 中的值根据 table_2 中列出的变量填充 table_2 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14016012/

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