我是否可以覆盖列';选择案例SQL中的s值

我是否可以覆盖列';选择案例SQL中的s值,sql,case,Sql,Case,我是否可以重写列中的值,以便如果大小写为true,它会告诉值x等于查询中的另一个动态值。这是伪代码。我知道这行不通 Select jobTitle, managerTitle, bigBossTitle, CASE WHEN jobtitle like '%DEVELOP%' THEN managerTitle = bigBossTitle END From PeopleTable inner join... other tables... 谢谢。试试这样: Select j

我是否可以重写列中的值,以便如果大小写为true,它会告诉值x等于查询中的另一个动态值。这是伪代码。我知道这行不通

Select jobTitle, managerTitle, bigBossTitle,
    CASE WHEN jobtitle like '%DEVELOP%' THEN managerTitle = bigBossTitle
    END 
From PeopleTable
inner join... other tables...

谢谢。

试试这样:

Select jobTitle, managerTitle, bigBossTitle, IF(jobtitle like '%DEVELOP%', bigBossTitle, OTHER_VALUE_IF_FALSE) AS managerTitle 
From PeopleTable
inner join... other tables...
试试这个:

Select     
    jobTitle, 
      CASE WHEN jobtitle like '%DEVELOP%' 
      THEN bigBossTitle 
      ELSE managerTitle 
      END as managerTitle, 
    bigBossTitle,

From PeopleTable
inner join... other tables...
Select jobTitle,
    CASE
        WHEN jobtitle like '%DEVELOP%'
        THEN bigBossTitle
        ELSE managerTitle 
    END as managerTitle,
   bigBossTitle
From PeopleTable
inner join... other tables...
您只需将case语句放在managertile列所在的位置,然后将结果别名为managertile。这种逻辑有效地为您提供了所需的信息。要真正“替换”一个值,您需要执行更高级的T-SQL,而这并不是必须的

在连接谓词中使用case语句的示例:

...
inner join otherTable 
on otherTable.bossTitle = 
      CASE WHEN jobtitle like '%DEVELOP%' 
      THEN bigBossTitle 
      ELSE managerTitle 
      END
试试这个:

Select     
    jobTitle, 
      CASE WHEN jobtitle like '%DEVELOP%' 
      THEN bigBossTitle 
      ELSE managerTitle 
      END as managerTitle, 
    bigBossTitle,

From PeopleTable
inner join... other tables...
Select jobTitle,
    CASE
        WHEN jobtitle like '%DEVELOP%'
        THEN bigBossTitle
        ELSE managerTitle 
    END as managerTitle,
   bigBossTitle
From PeopleTable
inner join... other tables...

你很接近。您的
案例将如下所示:

Select jobTitle, bigBossTitle,
    CASE 
          WHEN jobtitle like '%DEVELOP%' 
          THEN bigBossTitle 
          ELSE managerTitle
    END as managerTitle
From PeopleTable
inner join... other tables...

干杯我现在要试一试。我是非常亲密的伙伴。在一个相当长的查询结束时,我有一个内部连接,现在我需要managertile的新值来连接到另一个表。表2上的内部联接表2=managertile。有可能吗?@Sean:是的,有可能。在最简单的形式中,只需在连接谓词/子句中使用case语句,但请删除别名
as managerTitle
)@Sean:我更新了答案,以包含在连接谓词中使用case语句的示例。感谢您花时间,Paul。我很感激。我试试看。