x_project_t 和x_dept_t两个表
x_project_t是项目列表 dept_id
x_dept_t 是部门表 有level和parentid id
x_key_t 是键值表
部门表按公司和部门存储,并用level划分
例 项目表
name | dept_id |
---|---|
项目 | 10 |
例 部门表
name | id | level | parentid |
---|---|---|---|
公司 | 1 | 1 | -- |
子部门 | 10 | 2 | 1 |
例 key表
dept_id | key |
---|---|
1 | keyvalue |
现在x_project_t 表里存的是dept_id是部门的 level = 2 需要再向下查一级,我想直接把公司级别关联的key字段直接从x_project_t查询语句中返回,当x_project_t关联的dept_id可能是公司,也可能是部门时,怎么添加if语句判断中的语句才能达到目的
SELECT
p.id,
d.key,
FROM
x_project_t p LEFT JOIN x_dept_t d ON p.dept_id=d.id
<if table="level == 2"> //如果level=2需要再向下查一级,并替换key信息
</if>
或者有什么别的更简单的方法