查询在Oracle(SQL)10克

问题描述:

我有这样查询在Oracle(SQL)10克

Name   Skills 
mahesh  c,c++,java 
santosh  Java 
srikanth  c 
在此

我需要,谁知道角人的表。我没有得到查询可以帮助我。或者我应该打破技能colums ...如果是的话那么我应该如何打破和实现我的查询...请你能激起我.....

+1

出于好奇,为什么用'user32'标记这个标记?除此之外,您可以展示迄今为止您尝试过的哪些方法无效?一些示例代码? – 2010-12-13 12:57:16

这是一个坏主意,存储多个值在一个单一的列,而不是有多行或一个链接表。

多行将显示为:

mahesh c 
mahesh c++ 
mahesh java 
santosh java 
srikanth c 

对于一个链接表的方式,你可能有三个表:人,技能和PersonSkill。事情是这样的:

Person 
ID Name 
1 mahesh 
2 santosh 
3 scrikanth 

Skill 
ID Description 
1 C 
2 C++ 
3 Java 

PersonSkill 
PersonID SkillID 
1   1 
1   2 
1   3 
2   3 
3   1 

,那么你会查询谁拥有的C技能如下人群:

select Name 
from Person, Skill, PersonSkill 
where Person.ID = PersonID and Skill.ID = SkillID and Skill.Description = 'C' 

只是为马赫什没有设计数据库,但只是要查询的情况下它:

select Name 
from yourTable 
where ',' || SKills || ',' like '%,c,%';