【发布时间】:2014-09-11 07:15:07
【问题描述】:
我想对 3 个表进行子查询,并在多值中使用 where,但我总是遇到语法错误。我必须在 Report Builder 3.0 中进行报告
表 A:record_id、姓氏、名字
表 C:row_id、能力代码、能力名称
台式电脑:link_id、record_id、row_id、attainment_date
我想将这些表合并为 1 个表。一个人将完成一些能力代码,并且与其他人不同。根据 attainment_date 完成能力代码。我还认为将 iff 函数用于能力代码值中的 attainment_date 作为完成/是。
我要创建的表是:
Record_Id | Surname | GivenName | Code 1 | Code 2 | Code 3 | Code 4 | Code 5
01 | AA | AA | Complete | Complete | Complete | | Complete
02 | BB | BB | Complete | Complete | | Complete |
03 | CC | CC | | Complete | Complete | | Complete
这是我尝试做的查询。
select distinct a.id, a.surname, a.given_name
from all a
join
(
select pc.attainment_date
from personnel_competency pc
join
(
select c.code, c.name
from competency c)
competency c on (c.row_no = pc.linkid)
)
personnel_competency pc on (pc.id = a.id)
where c.code in ('ABC', 'BCD', 'ABE', 'DEA', 'DEF', 'POS', 'SAQ', 'LOP')
and pc.attainment_date < now()
order by a.record_id
我的 SQL 技能非常基础。是否还有其他方法可以制作这样的表格?
【问题讨论】:
标签: reporting-services subquery where-clause ssrs-2008-r2 reportbuilder3.0