2011-12-30 158 views
2

我有SQL服务器2008 R2版本,正在处理和.Net网页作为前端。使用逗号分隔值搜索列

即将到来的问题是,数据库中有一列基本上由逗号分隔的各种技能组成。例如,某些候选人拥有3种不同的技能组合,即C#,SQL server,Oracle。想要列出技能为C#Oracle的候选人的用户将在网页的文本框中提供输入为C#, Oracle。我想写一个可以列出这样的查询。我试过了免费的文字搜索。但如果在大写字母/小字,不支持通配符,甚至是技能顺序的情况下,它都无法获取。

下面是示例查询

Select * from profiles where freetext(skills, ‘C#,Oracle’) 

回答

11

从我的POV正确的(和不受欢迎的)答案是重新设计你的表结构:你不应该曾经有值的列表中的一个字段,如果你想访问他们分开。

+0

@JonEgerton:请一个代表SO社区采取我感谢所有那些打扰我修复我的(非母语)英语的学生rrors。非常感谢,并且我学到了我最常见的错误 – 2011-12-30 14:50:25

+0

不是一个问题 - 你的英语远胜于我的基本德语! – 2011-12-30 14:57:58

0

this是一个关于全文的好文章。

比赛两个 C#和Oracle

select * From Profiles where contains(*,'"Oracle" and "C#"') 

比赛要么 C#或Oracle

select * From Profiles where contains(*,'"Oracle" or "C#"') 

Full-text: and/or