3

Can I override a value in a column such that if a case is true, it tells value x to be equal to another dynamic value in the query. Here's pseudocode. I know this doesn't work.

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

Thanks.

4

4 に答える 4

4

これを試して:

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

From PeopleTable
inner join... other tables...

managerTitle 列があった場所に case ステートメントを配置し、その結果を managerTitle としてエイリアスします。このロジックは、探しているものを効果的に提供します。実際に値を「置換」するには、より高度な T-SQL を実行する必要がありますが、実際には必要ありません。

結合述語での case ステートメントの使用例:

...
inner join otherTable 
on otherTable.bossTitle = 
      CASE WHEN jobtitle like '%DEVELOP%' 
      THEN bigBossTitle 
      ELSE managerTitle 
      END
于 2012-12-13T21:40:09.353 に答える
1

これを試して:

Select jobTitle,
    CASE
        WHEN jobtitle like '%DEVELOP%'
        THEN bigBossTitle
        ELSE managerTitle 
    END as managerTitle,
   bigBossTitle
From PeopleTable
inner join... other tables...
于 2012-12-13T21:40:55.340 に答える
1

あなたはとても親しかった。あなたCASEは次のようになります:

Select jobTitle, bigBossTitle,
    CASE 
          WHEN jobtitle like '%DEVELOP%' 
          THEN bigBossTitle 
          ELSE managerTitle
    END as managerTitle
From PeopleTable
inner join... other tables...
于 2012-12-13T21:41:00.890 に答える
0

そのようなことを試してください:

Select jobTitle, managerTitle, bigBossTitle, IF(jobtitle like '%DEVELOP%', bigBossTitle, OTHER_VALUE_IF_FALSE) AS managerTitle 
From PeopleTable
inner join... other tables...
于 2012-12-13T21:38:51.107 に答える