C# 将SQL中的参数替换为外键 选择 斯塔夫, 总计(治疗价格)作为员工总收入, 金额(治疗、治疗价格)*?作为佣金 从…起 治疗 内连接 预约时预约。治疗ID=治疗。治疗ID 哪里 任命日期>='2018/05/11' 和AppointmentDate

C# 将SQL中的参数替换为外键 选择 斯塔夫, 总计(治疗价格)作为员工总收入, 金额(治疗、治疗价格)*?作为佣金 从…起 治疗 内连接 预约时预约。治疗ID=治疗。治疗ID 哪里 任命日期>='2018/05/11' 和AppointmentDate,c#,sql,C#,Sql,您是如何获得Staff.Commission而不加入查询中的Staff表的? 试一试 选择 斯塔夫, 总计(治疗价格)作为员工总收入, 金额(治疗、治疗价格)*佣金作为佣金 从…起 治疗 内连接 预约时预约。治疗ID=治疗。治疗ID 内部在预约时加入员工。StaffID=Staff.StaffID 哪里 任命日期>='2018/05/11' 任命日期如果委员会在员工表中,那么听起来像是内部联接。你能用这3个表的CREATETABLE语句更新帖子吗?我已经更新了它,staff join在哪里?我不

您是如何获得Staff.Commission而不加入查询中的Staff表的? 试一试

选择
斯塔夫,
总计(治疗价格)作为员工总收入,
金额(治疗、治疗价格)*佣金作为佣金
从…起
治疗
内连接
预约时预约。治疗ID=治疗。治疗ID
内部在预约时加入员工。StaffID=Staff.StaffID
哪里
任命日期>='2018/05/11'

任命日期如果委员会在员工表中,那么听起来像是内部联接。你能用这3个表的CREATETABLE语句更新帖子吗?我已经更新了它,staff join在哪里?我不知道如何做才能不让staff出错。佣金
SELECT 
    StaffID, 
    SUM(Treatment.TreatmentPrice) AS TotalStaffRevenue, 
    SUM(Treatment.TreatmentPrice) * ? AS Commission
FROM 
    Treatment
INNER JOIN 
    Appointment ON Appointment.TreatmentID = Treatment.TreatmentID
WHERE
    AppointmentDate >= '2018/05/11' 
    AND AppointmentDate <= '2018/05/12'
GROUP BY 
    staffid WITH ROLLUP

CREATE TABLE Staff (
StaffID int IDENTITY NOT NULL,
Forename varchar(20) NOT NULL,
Surname varchar(20) NOT NULL,
MobileNumber varchar(11) NOT NULL,
EmailAddress varchar(20) NULL,
PostCode varchar(8) NULL,
HouseNumber varchar(4) NULL,
Commission decimal(6,2) NOT NULL,
PRIMARY KEY(StaffID)
);

GO

CREATE TABLE Treatment (
TreatmentID int identity NOT NULL,
TreatmentName varchar(20)  NOT NULL,
TreatmentPrice money NOT NULL,
CategoryID int NOT NULL,
TreatmentDescription varchar(40) NOT NULL,
PRIMARY KEY(TreatmentID, CategoryID)
);

GO

CREATE TABLE Appointment (
AppointmentID int IDENTITY NOT NULL,
StaffID int NOT NULL,
TreatmentID int NOT NULL,
CustomerID int NOT NULL,
AppointmentDate date NOT NULL,
AppointmentTime time(0) NOT NULL,
PRIMARY KEY (AppointmentID, StaffID, CustomerID, TreatmentID)
);
SELECT 
    Staff.StaffID, 
    SUM(Treatment.TreatmentPrice) AS TotalStaffRevenue, 
    SUM(Treatment.TreatmentPrice)*Commission AS Commission
FROM 
    Treatment
INNER JOIN 
    Appointment ON Appointment.TreatmentID = Treatment.TreatmentID
    inner join Staff on Appointment.StaffID=Staff.StaffID
WHERE
    AppointmentDate >= '2018/05/11' 
    AND AppointmentDate <= '2018/05/12'
GROUP BY 
    Staff.StaffID,Commission WITH ROLLUP