在查询中添加包含值的列

Joh*_*son -5 sql sql-server select

我需要在查询中添加一个包含值的列.一个简化的例子:

exampleTable:

  ID     Fruit
+-----+---------+
|  0  |  Apple  |
+-----+---------+
|  1  |  Pear   |
+-----+---------+
Run Code Online (Sandbox Code Playgroud)

我想要一个添加以下硬编码列名+值的查询:

  ID     Fruit     MyFavorite
+-----+---------+-------------+
|  0  |  Apple  |      YES    |
+-----+---------+-------------+
|  1  |  Pear   |      NO     |
+-----+---------+-------------+
Run Code Online (Sandbox Code Playgroud)

要非常明确:我不想要任何新表,只需要提供此结果的查询.

如何实现这一结果?

编辑:这只是假表的一个例子.我希望任何更多的表,我并不想改变现有表中的值MyFavorite都应该被硬编码.

小智 5

如果您只是想要查询而不想更改表结构:

select ID
    ,Fruit
    , CASE WHEN Fruit = 'Apple' THEN 'YES' ELSE 'NO' END as MyFavorite
from Fruits
Run Code Online (Sandbox Code Playgroud)


Mur*_*nik 5

你可以使用一个case表达式:

SELECT id
     , fruit
     , CASE fruit 
         WHEN 'Apple' THEN 'YES' 
         ELSE 'NO' 
       END AS MyFavorite
FROM   exampleTable
Run Code Online (Sandbox Code Playgroud)