我有一张这样的表
Name Skills
mahesh c,c++,java
santosh Java
srikanth c
在这里我需要知道c的人。我没有得到查询可以帮助我。或者我应该打破技能colums ...如果是的话那么我应该如何突破并实现我的查询...请你能给我留言......
答案 0 :(得分:2)
将多个值存储在一个列中是一个坏主意,而不是有多个行或链接表。
多行显示为:
mahesh c
mahesh c++
mahesh java
santosh java
srikanth c
对于链接表方法,您可能有三个表:Person,Skill和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'
答案 1 :(得分:0)
只是因为mahesh没有设计数据库但只需查询它:
select Name
from yourTable
where ',' || SKills || ',' like '%,c,%';