【发布时间】:2015-03-30 02:40:36
【问题描述】:
我最近一直在这方面工作,但我无法解决。我有下表:
ID Language Text
---- -------- --------
1 spanish Hola
1 english Hello
2 spanish Chau
2 english Goodbye
2 french Au revoir
3 english Thank you
我需要获取每个 ID 和西班牙语文本,但如果没有任何西班牙语文本,我应该获取英语文本,依此类推。
所以如果我运行这个查询,我应该得到:
ID Language Text
---- -------- --------
1 spanish Hola
2 spanish Chau
3 english Thank you
我不能用
Select ID, Language, Text From table Where Language = 'spanish'
因为在没有西班牙语集的情况下,我不会检索该 ID,并且每个 ID 需要一条记录。我可能会使用这样的东西:
select Distinct(Id), Text from table
order by FIELD(Language, 'Spanish', 'English', 'French', 'Italian')
但它没有用。我明白了:
'FIELD' is not a recognized built-in function name.
有人可以帮我吗?
非常感谢大家!
【问题讨论】:
-
好吧,
FIELD()应该做什么? -
当没有西班牙语条目时,您希望查询返回什么?
-
@Lamak 。 . .
field()是 MySQL 中的一个函数,相当于 SQL Server 中的choose()。 -
@GordonLinoff 啊,MySQL,我对它一无所知
标签: sql sql-server select sql-order-by distinct