该查询中的SQL QUERY-create列

时间:2015-10-15 13:02:01

标签: sql tsql

大家好,我想知道是否可以在SELECT查询中创建新列?

我目前有一个查询,可以为部件号,其运营商号,运营商状态以及最终用途提取数据。我想在查询中再添加一列,将其命名为“eligibility”,值为

  • “C”,如果该部分的最终用途=认证,并且它存在于数据库中的另一个表中。 因此,如果该部分的最终用途是证书,并且它存在于该另一个表(命名为特殊程序)中,而不是该新字段中的“C”
  • 否则会是空白。那可能吗?

SELECT语句:

Select distinct 
    pn.PNumber, 
    ht.CarrierID AS 'Carrier Number', 
    chs.CarrierDescriptionText AS 'Carrier State', 
    ct.EndUsedName AS 'End Use'

结果示例:

enter image description here

1 个答案:

答案 0 :(得分:0)

总空气代码。 LEFT JOIN将your_table与other_table相关联,在CASE块中将ot。测试另一个表中是否存在相关行。更改your_table,other_table和??适合你的情况。

Select distinct 
    pn.PNumber, 
    ht.CarrierID AS 'Carrier Number', 
    chs.CarrierDescriptionText AS 'Carrier State', 
    ct.EndUsedName AS 'End Use', 
    CASE WHEN [End Use] = 'Certification' AND ot.?? IS NOT NULL THEN 'C' ELSE '' END as eligibility
FROM your_table yt
   LEFT JOIN other_table ot ON yt.?? = ot.??