SQL 데이터베이스에 문제가 있습니다. Oracle 11g Express Edition을 사용하여 설정하고 있습니다. 각 고객에 대해 고객의 번호와 해당 고객의 신용 거래 ('C'유형의 거래)의 합계를 보여주고 싶은 SELECT 쿼리를 실행할 수 있기를 원합니다. 지위.여러 테이블과 행/열에 대한 쿼리
문제 ... 여러 가지 유형의 쿼리 명령을 살펴본 결과 가장 간단한 용어로이 명령을 어떻게 형식화해야하는지 완전히 잊어 버렸습니다. 어떤 도움을 주시면 감사하겠습니다.
CREATE TABLE Customer_DML
CustomerNumber CHAR(12) CONSTRAINT customer_pk PRIMARY KEY,
SSN CHAR(9) CONSTRAINT customer_uq_ssn UNIQUE,
FirstName VARCHAR2(25) CONSTRAINT customer_nn_fname NOT NULL,
LastName VARCHAR2(25) CONSTRAINT customer_nn_lname NOT NULL,
Telephone CHAR(10),
DateOfBirth DATE
);
CREATE TABLE Account_DML (
AccountNumber CHAR(15) CONSTRAINT account_pk PRIMARY KEY,
Type CHAR(1) CONSTRAINT account_ck_type CHECK (Type IN ('S','C')),
DateCreated DATE DEFAULT SYSDATE CONSTRAINT account_nn_datecreated NOT NULL,
Status VARCHAR2(10) CONSTRAINT account_nn_status NOT NULL,
Customer CHAR(12) CONSTRAINT account_fk_customer REFERENCES
Customer_DML(CustomerNumber)
ON DELETE CASCADE
);
CREATE TABLE Transaction_DML (
TransactionNumber CHAR(15) CONSTRAINT transaction_pk PRIMARY KEY,
Type CHAR(1) CONSTRAINT transaction_ck_type CHECK (Type IN ('D','C')),
Amount Number(10,2) CONSTRAINT transaction_nn_amount NOT NULL,
Account CHAR(15) CONSTRAINT transaction_fk_account REFERENCES Account_DML(AccountNumber)
ON DELETE SET NULL
);
내가 지금까지 가지고하는이 라인을 따라입니다 : 여기 내 테이블 형식입니다
SELECT c.CustomerNumber,
t.SUM(Amount) AS SumAmt
FROM Customer_DML c, Account_DML a
ON c.CustomerNumber = a.Customer
JOIN Transaction_DML t
ON a.Customer = a.AccountNumber
하지만 난 정말이와 기본 떨어져 나는 느낌이 듭니다.
모든 힌트 나 해결책을 제공해 주시면 대단히 감사하겠습니다. 더 많은 정보가 필요하면 할 수있는 것을 기꺼이 줄 것입니다.
"계정 테이블"을 사용할 때 Account_DML 또는 계정 열을 의미합니까? 이것을 명령 줄에 붙여 넣으려고 시도했지만 몇 가지 오류가 발생했습니다. – Smackelbap
그리고 이것을 "Account_DML"로 정정 할 때 "C"라고 표시된 5 행에서 오류가 발생합니다. "Customer": 식별자가 잘못되었습니다. – Smackelbap
수정 사항이있는 수정 사항을 제출했습니다. 선택 및 그룹별로 c.Customer를 a.Customer로 변경해보십시오. –