내가이 쿼리에 문제가 유착, 그것은 나에게문자 세트 불일치
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);
에 NCHAR' '으로 정의된다 귀하의 데이터베이스와 당신은에서 반환되는'NUMBER'와 그것을 비교하고 있습니다 하위 쿼리. 결과를'char'로 변경하십시오. – Ofisora
하위 쿼리가 char "f"또는 "m"을 반환하면 char로 변경해야하는 항목은 무엇입니까? : 이해하지 못했습니다. 죄송합니다 ... 편집 : Genero_a는 CHAR (1)로 정의됩니다. – RicardoBarros
다음과 같이 테이블 구조를 게시 할 수 있습니까? 데이터 유형과 어느 것이 54 행입니까? – Ofisora