以下的简单SQL是查询一个表中enddate最大的那条数据,按理来说如果子查询有结果那整个SQL就一定有结果。但是现在子查询有结果而整个SQL执行结果为空
以下是表的建表语句与SQL查询语句
CREATE TABLE lcpol
(
polno
varchar(20) NOT NULL,
contno
varchar(20) NOT NULL,
mainpolno
varchar(20) NULL,
enddate
datetime NULL,
appflag
char(1) NULL
) ENGINE=OLAP
UNIQUE KEY(polno
)
COMMENT ‘olap’
DISTRIBUTED BY HASH(polno
) BUCKETS 32
PROPERTIES (
“replication_allocation” = “tag.location.default: 3”,
“in_memory” = “false”,
“storage_format” = “V2”,
“disable_auto_compaction” = “false”
);
SELECT c.* from
icis.lcpol c
join (select contno, max(enddate) enddate
from icis.lcpol
where appflag != ‘9’
and polno = mainpolno
group by contno) ct on c.contno = ct.contno and c.enddate = ct.enddate