2016-06-21 84 views
-1

我有一个查询,其中我得到Department_Id为它的整数值。我已经在另一个表是获取文本而不是ID

select type_desc from type_mst_a where master_mkey = 812 

引用该ID的文字和我的查询是

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

+0

在您的查询中,没有对'department_id'的引用。 –

+0

@SamuelRenold:对不起,更新了代码。 – BNN

回答

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 

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

+0

连接发生错误,尽管UR首先为我工作。错误是**不明确的列名称'delete_flag'。** – BNN

+0

这意味着'delete_flag'存在于'VIEW_A_INWARD_DOC_TRACKING_HDR'和'TYPE_MST_A'两个表中。您可以通过指示应从哪个表中删除“DELETE_FLAG”列来避免出现此错误。我会调整我的帖子。 –

相关问题