Ho svolto un'attività che comporta la creazione di un database per un ospedale e ho riscontrato un errore molto frustrante che non riesco a risolvere a prescindere da quanta ricerca fare.SQL GROUP BY - Utilizzo della funzione COUNT()
L'errore che ho ricevuto è:
ERRORE alla linea 1: ORA-00979: senza GROUP BY espressione
La struttura del mio codice per l'inserimento dei valori è:
SELECT CONSULTANT.S_NO, DOCTOR.D_NAME, CONSULTANT.SPEC,
PATIENT.P_ID, PATIENT.P_NAME, COUNT(CONSULTANT.P_ID)
FROM PATIENT, CONSULTANT, DOCTOR
WHERE PATIENT.P_ID = CONSULTANT.P_ID
AND CONSULTANT.S_NO = DOCTOR.S_NO
GROUP BY CONSULTANT.S_NO;
E la struttura dei miei tavoli sono:
CREATE TABLE PATIENT (
P_ID NUMBER NOT NULL,
P_NAME CHAR(20),
ADDRESS VARCHAR(20),
DOB DATE,
WARD_NO NUMBER NOT NULL,
C_S_NO NUMBER NOT NULL,
CONSTRAINT PK_PATIENT PRIMARY KEY(P_ID)
);
CREATE TABLE DOCTOR (
S_NO NUMBER NOT NULL,
D_NAME CHAR(20),
APP_DATE DATE,
CONSTRAINT PK_DOC PRIMARY KEY(S_NO)
);
CREATE TABLE CONSULTANT (
S_NO NUMBER NOT NULL,
P_ID NUMBER NOT NULL,
SPEC CHAR(20),
T_CODE VARCHAR(20) NOT NULL,
CONSTRAINT PK_CDOC PRIMARY KEY(S_NO)
);
Apprezzerei davvero ogni aiuto che qualcuno potrebbe darmi per risolvere questo dilemma.
Sì, ha funzionato alla grande! Molte grazie :) –