如果列中有特定值,如何打印“Y”

时间:2014-01-03 08:23:33

标签: sql

我有 TABLE A

我在表格中列有 AA BB

如果列 AA 的数据='1',我想为新列打印“Y”,

我该如何撰写查询?

例如,

If AA has a column look like this,

 AA
====
 3

 3

 1

 4

因为它有一个数据= 1,我想打印Y。

7 个答案:

答案 0 :(得分:2)

查询:

select case 
       when aa = 1 
       then 'Y' 
       else null
       end
from   a 

答案 1 :(得分:1)

我认为你可以通过使用case关键字来解决这个问题。尝试查找。

SELECT Case when AA=1 then 'Y' else 'somehthin' End
    From...
    Where...

答案 2 :(得分:1)

您尚未指定您正在使用的SQL的风格,因此我将假设为T-SQL

尝试使用CASE WHEN THEN语句

e.g。

SELECT 
AA, 
CASE AA 
  WHEN 1 THEN 'Y'
END AS Filter
FROM 
A;

有关如何在Transact-SQL中使用CASE语句的更多信息,请参阅here

答案 3 :(得分:0)

SELECT 
[AA],
'Result' =
CASE WHEN [AA] = 1
THEN 'Y'
ELSE 'N'
END
FROM ...

答案 4 :(得分:0)

如果这是Microsoft SQL Server,并且您希望将“Y”作为消息打印,则可以执行以下操作:

if exists (select * from a where aa='1')
print 'Y'

答案 5 :(得分:0)

create table #t (AA int)

insert into #t values(3),(3),(1),(4)

select AA,case when AA=1 then 'Y' end as BB from #t

Fiddle Demo

答案 6 :(得分:0)

Select aa,case aa when 1 then 'Y' else '' end as newColumn
From TableA