PDA

View Full Version : سوال: کوئری تمام پدرها با فرزندان مشابه



coolbit
دوشنبه 14 تیر 1389, 10:09 صبح
سلام،

من در نوشتن یه کوئری از دوستان و اساتید راهنمایی می خواستم.
مسئله من به این صورت هست که دو جدول دارم، Parent و Child.
این Child در حقیقت جدول واسط Parent با Child اصلی هست که ارتباطی Many-to-Many دارند. اما حالا با Child اصلی کاری نداریم.
هر Parent میتواند به هر تعداد Child داشته باشد.
حالا من می خواهم ID تمام Parent هایی رو برگردونم که بین فرزندانشون، مثلا 2 فرزند مشابه وجود دارد.

مثال:
- پدر 1 دارای فرزند 1 و 2 و 3 است.
- پدر 2 دارای فرزند 3 و 4 است.
- پدر 3 دارای فرزند 2 و 3 و 4 است.

در صورت وارد کردن فرزندان 2 و 3؛ باید پدر 1 و 3 برگشت داده شوند.

ممنون.

coolbit
چهارشنبه 16 تیر 1389, 10:49 صبح
پاسخ:



SELECT Parent.ID
FROM Parent
INNER JOIN Child
ON Parent.ID = Child.ParentID
WHERE Child.ID = @Child1
AND @Child2 IN (SELECT ID from Child C2 WHERE C2.ID = Child.ID)
برای فرزندان بیشتر خط


AND @Child2 IN (SELECT ID from Child C2 WHERE C2.ID = Child.ID)
رو با پارامترهای فرزند سوم و یا بیشتر تکرار کنید.