所以基本上我有这个表Class_Sumations
,我需要想出一些方法来计算来自其他表NumberofClassesTaken
的AmountPaid
列的总和......到最后一个表中的尊重列。
该NumberofClassesTaken
列将汇总客户参加的所有课程并给出一个数字。该AmountPaid
列将汇总给定客户在课程上花费的所有美元金额并给出总数。
例如,客户 1 可能参加了 2 节瑜伽课并总共支付了 200 美元,因此NumberofClassesTaken
会显示 2,AmountPaid
列将显示 100。
我试着做SELECT
和总结,但我总是得到
错误代码 1064,SQL 状态 42000:您的 SQL 语法有错误
扔给我。
谁能在这里指出我正确的方向?(请记住,我对此比较陌生,所以如果您有一些文档来说明您的建议,那也很棒)
PS:我省略了 TRAINER 表,因为它是与俱乐部类分开的总数,因此您可以忽略 CLUB_CLASSES 中的外键。
CREATE TABLE CLIENT(
ClientNumber INT(50) NOT NULL,
ClientLastName VARCHAR(50) NOT NULL,
ClientFirstName VARCHAR(50) NOT NULL,
ClientPhone VARCHAR(50) NOT NULL,
ClientEmail VARCHAR(50) NOT NULL,
ClientState VARCHAR(50) NOT NULL,
ClientCity VARCHAR(50) NOT NULL,
ClientStreet VARCHAR(50) NOT NULL,
ClientAddress VARCHAR(50) NOT NULL,
ClientZipCode INT NOT NULL,
PRIMARY KEY (ClientNumber));
INSERT INTO CLIENT
VALUES
('1','Marget','Michael','7703399207','MM@gmail.com',
'Kentucky','Merlin','Wending Way','312 Wending Way','30144');
INSERT INTO CLIENT
VALUES
('2','Squarepants','Spongebob','7701274532','SS@gmail.com',
'Kentucky','Merlin','Pineapple Under the Sea Way',
'856 Pineapple Under the Seas Way','30122');
CREATE TABLE CLUB_CLASSES(
ClassID INT(50) NOT NULL,
InstructorTrainerID INT(50) NOT NULL,
ClassName VARCHAR(50) NOT NULL,
ClassStartDate date NOT NULL,
ClassEndDate date NOT NULL,
ClassCost VARCHAR(50) NOT NULL,
PRIMARY KEY(ClassID),
FOREIGN KEY (InstructorTrainerID) REFERENCES TRAINER(TrainerID));
INSERT INTO CLUB_CLASSES
VALUES ('3501','1154','Yoga','1/3/13','1/5/13','100');
INSERT INTO CLUB_CLASSES
VALUES ('3502','2856','Pillate','1/3/13','2/5/13','50');
CREATE TABLE CLASS_SUMMATIONS(
ClassID INT(50) NOT NULL,
ClientID INT(50) NOT NULL,
NumberofClassesTaken VARCHAR(50) NOT NULL,
AmountPaid VARCHAR(50) NOT NULL,
PRIMARY KEY(ClassID, ClientNumber),
FOREIGN KEY(ClientNumber) REFERENCES CLIENT(ClientNumber));
INSERT INTO CLIENT_SUMMATIONS (
'3501','1',
'SELECT SUM(CLUB_CLASSES.ClassID','SELECT SUM(CLUB_CLASSES.ClassCost)');
INSERT INTO CLIENT_SUMMATIONS('3502','2','xxx','xxxx');