1
저는 SQL 쿼리에 관해서는 아직 초보자입니다. 그래서 누군가가 나를 빌려 줄 수 있기를 바랬습니다.복잡한 SQL 쿼리에 대한 도움말
Skill, Set 및 Contact 테이블과 SkillSet 및 ContactSet이라는 두 개의 연결 테이블이 있다고 가정합니다.
연락처는 임의의 수의 세트를 가질 수 있으며, 그 반대 (대다)
세트는 임의의 수를 가질 수있다 (3 개 테이블은 기본 키로서 사용되는 "ID"열을 가지고) (대다수도)
내가 원하는 것은 스킬의 ID가 표시 될 때 해당 스킬이 포함 된 세트로 모든 대화 상대를 반환하는 것입니다.
아직 나와 함께 있니?
는 여기에 지금까지있어 무엇 :
SELECT Set.ID as expr1
FROM SkillSet
WHERE Skill.ID = @SkillID
//this selects every set containing the Skill.
SELECT Contact.ID
FROM ContactSet
WHERE SET.ID = ?
//this is where I run into problems. I want to use the records returned from
//the previous SELECT query (expr1) but I'm unsure how.
//Would it be expr1.ID or expr1.Set.ID?
감사합니다.
declare @skillid int
set @skillid = 1
SELECT C.*
FROM contact c
inner join SetContact SC on (sc.contactId = C.contactId)
inner join SkillSet SS on (ss.SetId = SC.SetId)
WHERE (SS.SkillId = @SkillId)
는 (데이터)에 따라 유용 할 수 있습니다 DISTINCT SELECT : – devio