【发布时间】:2019-05-24 09:54:34
【问题描述】:
我正在尝试构建一个 SQL 语句,该语句从位于同一个表中的多个列中返回唯一的非空值。
我尝试使用“sum”和“case”来创建此 SQL 语句,就像在另一个 stackOverflow 主题中所说的那样,但它不起作用。
我也试过这个:
Select count(distinct SYMPTOM_I, SYMPTOM_II, SYMPTOM_III, SYMPTOM_IV)
from DIAGNOSTIC_MEDVIR;
Create table DIAGNOSTIC_MEDVIR(
NIP varchar(32) not null,
DIAGNOSTIC_TIME int not null,
DAY_TIME varchar(32) not null,
SEX varchar(8) not null,
AGE int not null,
SYMPTOM_I varchar(64) not null,
SYMPTOM_II varchar(64),
SYMPTOM_III varchar(64),
SYMPTOM_IV varchar(64),
PATHOLOGY_I varchar(64) not null,
PATHOLOGY_II varchar(64),
PATHOLOGY_III varchar(64),
Constraint NIP_PK primary key(NIP),
Constraint CK_SEX check (SEX='Male' or SEX='Female'),
Constraint CK_DAYTIME(DAY_TIME='Morning' or DAY_TIME='Evening' or
DAY_TIME='Night')
);
假设我已经进入了这张表:
Insert into DIAGNOSTIC_MEDVIR
values ('195889419', 60, 'Morning', 'Male', 68, 'fever',
'sore throat', 'headache', , 'throat infection', , );
Insert into DIAGNOSTIC_MEDVIR
values ('195889420', 67, 'Morning', 'Female', 38, 'fever',
'headache', , , 'cold', , );
我想要:
fever: 2
sore throat: 1
headache: 1
【问题讨论】:
-
插入查询错误。 “列名或提供的值的数量与表定义不匹配。”
-
为什么是
headache: 1?不应该是2吗?
标签: sql netbeans-8 javadb