2015-06-11 31 views
0

我有一个SQL语句中,我想用像这样一个有条件的情况下语句中的不同关键字...有没有办法在SQL查询的条件case语句中使用distinct关键字?

SELECT 
    case when <condition> then distinct t.myfield 
    else 
    null 
    end as my_field 

如果我尝试运行查询,不过,我收到了“失踪表达'错误。

有什么建议吗?

在此先感谢

+1

节目表结构,描述你要选择一个期望的结果数据 – venca

+0

只能适用不同的列表达式,而不是内部的THEN子句什么案件。 –

+0

如果这是你选择的唯一的东西,只需使用select distinct ...如果不是,那么你将不得不添加更多关于你的数据+ sql的细节和你期望的结果 –

回答

2

区别在于整个select语句,而不是单个字段。您可以执行以下操作:

SELECT DISTINCT Case when <condition> then t.myfield else null end as my_field 

但这会影响select语句中的其他字段。另一种方法是将其添加到一个单独的查询:

SELECT case when <condition> then t.myfield else null end as my_field 
from (select distinct myfield from t) as t 
+0

太好了 - 谢谢! –

相关问题