2010-12-13 42 views
0

我有這樣查詢在Oracle(SQL)10克

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

我需要,誰知道角人的表。我沒有得到查詢可以幫助我。或者我應該打破技能colums ...如果是的話那麼我應該如何打破和實現我的查詢...請你能激起我.....

+1

出於好奇,爲什麼用'user32'標記這個標記?除此之外,您可以展示迄今爲止您嘗試過的哪些方法無效?一些示例代碼? – 2010-12-13 12:57:16

回答

2

這是一個壞主意,存儲多個值在一個單一的列,而不是有多行或一個鏈接表。

多行將顯示爲:

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' 
0

只是爲馬赫什沒有設計數據庫,但只是要查詢的情況下它:

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