查询在Oracle(SQL)10克
问题描述:
Name Skills
mahesh c,c++,java
santosh Java
srikanth c
在此
我需要,谁知道角人的表。我没有得到查询可以帮助我。或者我应该打破技能colums ...如果是的话那么我应该如何打破和实现我的查询...请你能激起我.....
答
这是一个坏主意,存储多个值在一个单一的列,而不是有多行或一个链接表。
多行将显示为:
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,%';
出于好奇,为什么用'user32'标记这个标记?除此之外,您可以展示迄今为止您尝试过的哪些方法无效?一些示例代码? – 2010-12-13 12:57:16