PDA

View Full Version : self join



samane658
چهارشنبه 18 اردیبهشت 1387, 09:11 صبح
مي خوام يه جدول رو با خودش join كنم.اما هر چي گشتم نتونستم پيداش كنم.مي شه يكي كمكم كنه

samane658
چهارشنبه 18 اردیبهشت 1387, 10:11 صبح
كسي نيست به من جواب بده

Amir_Safideh
چهارشنبه 18 اردیبهشت 1387, 11:39 صبح
این یه نمونه از جوین مورد نظر شماست . اگر شما بفرمائید که برای چی نیاز به همچین ارتباطی در این جدول دارید بهتر میشه کمک کرد . شاید روش بهتری غیر از این نوع ارتباط جواب کار شما رو بده .

SELECT *
FROM Table1 INNER JOIN
Table1 TInner ON Table1.Code = TInner.Code
-----------
موفق باشید .

samane658
چهارشنبه 18 اردیبهشت 1387, 13:09 عصر
يه جدول گروه كاري دارم كه توش گروه هاي مختلفي وجود داره، هر گروه خودش زير گروه داره و همين جور تا بي نهايت. و مي خوام اينارو تو يه treeview نمايش بدم . و با كليك رو هر كدوم اطلاعاتشو بدست بيارم. واسه همين خواستم فيلد parent اين جدول رو با فيلد id اون ارتباط بدم(جفتشون تو همين جدول هستند). همون self join

Amir_Safideh
چهارشنبه 18 اردیبهشت 1387, 14:37 عصر
SELECT Table1.Group_ID1,TInner.Group_ID2
FROM Table1 INNER JOIN
Table1 TInner ON Table1.Group_ID1 = TInner.Group_ID2
Where TInner.Group_ID2 = Table1.Group_ID1
Order By Table1.Group_ID1,TInner.Group_ID2
----------
موفق باشید .

samane658
چهارشنبه 18 اردیبهشت 1387, 16:18 عصر
نمي شه تو خود sql server واسش اين رابطه رو تعريف كرد؟ اين جوري بهتر نيست؟؟ اين فقط يه سواله ها. نمي دونم خوب يا نه.
ممنون از جوابتون.

Amir_Safideh
پنج شنبه 19 اردیبهشت 1387, 11:17 صبح
نمي شه تو خود sql server واسش اين رابطه رو تعريف كرد؟ اين جوري بهتر نيست؟؟ اين فقط يه سواله ها. نمي دونم خوب يا نه.
ممنون از جوابتون.
توی خود اس کیوال سرور هم میشه در قسمت دیاگرام یک جدول رو با توجه به قوانین مربوط به Relationها با خودش Join کرد یعنی یه ارتباط بین یک فیلد از یک جدول با فیلد دیگه ای از همون جدول . ولی این نوع ارتباط فقط فرایند ورود اطلاعات رو کنترل میکنه یعنی فقط کنترل میکنه که فیلد مورد نظر شما مقداری خارج از محدود فیلد اصلی رو ذخیره نکنه ولی در نهایت برای گزارشگیری شما نیاز به یک کوئری دارید تا از جداولتون خروجی مورد نظر رو بهتون بده .
-----------
موفق باشید .

Arghavan_Reza
پنج شنبه 19 اردیبهشت 1387, 12:12 عصر
با سلام
دوست گرامی از DBTreeView (یا کامپوننت ای مشابه) استفاده کنید. در اینترنت می توانید آن را پیدا کنید. این کامپوننت , ساختار درختی (ID و ParentID) را براحتی پشتیبانی میکند.
موفق باشید.