我有一個問題與此查詢,它告訴我的錯誤字符集不匹配凝聚
ORA-00932: inconsistent datatypes: expected NCHAR got NUMBER
00932.00000 - "inconsistent datatypes: expected% s got% s"
* Cause:
* Action:
Error in line: 54, column: 43
子查詢返回的字母「F」或在其中有更多學生的性別「M」這工作,但問題是我如何分配這封信給變量其中genero_a =
SELECT NOMBRE, COALESCE(DIRECCION,CORREO, 10) comm
FROM ESTUDIANTE
WHERE GENERO_A =
(SELECT GENERO_A
FROM ESTUDIANTE
GROUP BY GENERO_A
HAVING COUNT(GENERO_A) =
(SELECT MAX(COUNT(*)) as CONTAR
FROM ESTUDIANTE
GROUP BY GENERO_A))
ORDER BY NOMBRE;
我不是SQL都精通,我感謝您的理解。
--TABLA ESTUDIANTE
CREATE TABLE ESTUDIANTE(
ID_LECTOR VARCHAR2(50) NOT NULL,
NOMBRE VARCHAR2(50),
APELLIDO VARCHAR2(50),
GENERO_A CHAR(1) CONSTRAINT CH_GENERO_A CHECK(GENERO_A IN ('f', 'm')),
DIRECCION NVARCHAR2(100),
CORREO NVARCHAR2(50)
);
ALTER TABLE ESTUDIANTE ADD CONSTRAINT PK_ESTUDIANTE PRIMARY KEY(ID_LECTOR);
這意味着您的genero_a被定義爲'NCHAR'你的數據庫,並且你將它與從中返回的'NUMBER'進行比較你的子查詢。將結果更改爲'char'。 – Ofisora
子查詢返回一個字符「f或」m「,我應該更改爲字符?:我不明白,對不起... 編輯:Genero_a被定義爲CHAR(1) – RicardoBarros
您可以發佈您的表結構數據類型和哪一個是第54行? – Ofisora