已知有两张表结构如下:
create table BS_COL_REALESTATE(
clt_no varchar2(32) not null,
province varchar2(20) not null,--省/直辖市/自治区
city varchar2(20) not null, --城市/自治州
district varchar2(20)
);
create table EVAL_CONDITIONS(
id varchar2(32) not null,
province varchar2(20) not null, --省/直辖市/自治区
city varchar2(20) not null, --城市/自治州
district varchar2(20)--区(县)
);
还有一张表:ap_sys_area(国家行政区域表),记录各个区域的父子关系,区域等级信息。
我想要实现的功能是:根据表EVAL_CONDITIONS的字段province,city,district从BS_COL_REALESTATE找出符合的记录。
其中省、城市不为空值,但区(县)为空时要找出城市下辖的所有记录。本身为一个存储过程,可以引入中间变量,但不知道怎么实现。
求各位大神指点指点。
select *
from BS_COL_REALESTATE t1, EVAL_CONDITIONS t2
where t1.province = t2.province
and t1.city = t2.city
and t1.district = t2.district; --当t2.district 为NULL值时这个连接条件无效
|