【发布时间】:2019-05-14 10:25:05
【问题描述】:
我正在尝试为已设置报告的报告编辑查询,但是我在尝试将 BigInt (USERID) 列转换为 Nvarchar(150) (FIRST_NAME) 列时遇到了一些问题我需要对整个查询进行的一项特定更改的另一个表。
表结构如下(删除了一些不必要的列,因为本质上唯一重要的列是“USERID,REPORTINGTO”)
表 A (SDU)
USERID FIRSTNAME LASTNAME REPORTINGTO
28 Name 28 Surname 28 NULL
29 Name 29 Surname 29 36
30 Name 30 Surname 30 40
31 Name 31 Surname 31 53211
32 Name 32 Surname 32 40
33 Name 33 Surname 33 53211
34 Name 34 Surname 34 NULL
35 Name 35 Surname 35 40
36 Name 36 Surname 36 26
表 B (AAAUSER)
USER_ID FIRST_NAME
34 Name 34
35 Name 35
36 Name 36
在 REPORTINGTO 列中,它正在提取 USERID,它引用了正确的经理,但不适用于报告目的;我们需要显示表 B 中的“FIRST_NAME”。(first_name 与表 A 中的 FirstName 不同)
select
au.FIRST_NAME 'Tech'
,sdu.JOBTITLE 'Title'
,sdu.REPORTINGTO 'Manager'
from
AaaUser au
join HelpDeskCrew hdc on au.USER_ID = hdc.TECHNICIANID
join SDUser sdu on au.USER_ID = sdu.USERID
这会将表格输出为
Tech Title Manager
Full Name 1 Senior Technical Consultant 26
Full Name 2 Senior Technical Consultant 53211
而我希望经理在表 B 中显示为“FIRST_NAME”;而不是与该 Manager 关联的“USERID”。
我们将不胜感激任何朝着正确方向的帮助或推动。似乎 Cast/Convert 是要走的路,但到目前为止我还无法成功输入。
【问题讨论】:
-
我已编辑您的数据以重新格式化它,以便数据与列标题对齐。如果不正确,请更新它,因为如果没有这种对齐方式,您的帖子会更难理解
标签: sql casting type-conversion ssrs-2012