获取文本而不是ID

时间:2016-06-21 08:39:20

标签: sql sql-server sql-server-2005

我有一个查询,其中Department_Id 812 其整数值。我在另一个表

中引用了此ID和文本
select type_desc from type_mst_a where master_mkey = 812

我的查询是

select convert(varchar(15),doc_Date,103)Doc_Dates,department_id, 
         case outward_Type when 'N' then 'None' when 'P' then 'Private' when 'C' then 'Confidential' 
         end [Type], convert(varchar(15),ref_date,103) Ref_dates, convert(varchar(15),Updated_Bill_Date,103)Updated_Bill_Dates ,
         convert(varchar(15), Due_Date,103)Due_dates,* from view_A_Inward_Doc_Tracking_Hdr 
         where delete_flag='N'  and mkey= 227381

如何获取该ID的值?

IMG

1 个答案:

答案 0 :(得分:1)

您可以使用子选择将department_id转换为文本,如下所示:

select convert(varchar(15), doc_Date, 103) Doc_Dates,
       (select type_desc from type_mst_a where master_mkey = department_id),
       ...

或者,您可以加入表格type_mst_a

select convert(varchar(15), doc_Date, 103) Doc_Dates,
       department_id,
       text.type_desc,
       case outward_Type when 'N' then 'None' when 'P' then 'Private' when 'C' then 'Confidential' end [Type],
       convert(varchar(15), ref_date, 103) Ref_dates,
       convert(varchar(15), Updated_Bill_Date,103) Updated_Bill_Dates,
       convert(varchar(15), Due_Date, 103) Due_dates,
       *
from   view_A_Inward_Doc_Tracking_Hdr INWARD
left outer join type_mst_a text on text.master_mkey = department_id
where  INWARD.delete_flag = 'N'
and    mkey = 227381

外连接保证 - 如果找不到合适的文本 - 查询结果不会消失。