نمایش نتایج 1 تا 6 از 6

نام تاپیک: بدست اوردن تمامی parent های یک نود

  1. #1
    کاربر دائمی آواتار moferferi
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    اصفهان
    سن
    39
    پست
    788

    بدست اوردن تمامی parent های یک نود

    با سلام.
    من یه جدول برای دسته بندی دارم
    CREATE TABLE [dbo].[AnbarCategory](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Title] [nvarchar](500) NOT NULL,
    [ParentID] [int] NULL,
    CONSTRAINT [PK_AnbarCategory] PRIMARY KEY CLUSTERED
    (
    [ID] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    GO


    و با کد زیر تمامی parent های هر نود را نشون میدم
        WITH departmentcte(deptid, department, ParentID, LEVEL, treepath) AS

    ( SELECT id AS deptid, Title, ParentID, 0 AS LEVEL,

    CAST(Title AS nVARCHAR(1024)) AS treepath

    FROM AnbarCategory

    WHERE ParentID IS NULL

    UNION ALL

    SELECT d.id AS deptid, d.Title, d.ParentID,

    departmentcte.LEVEL + 1 AS LEVEL,

    CAST(departmentcte.treepath + ' -> ' +

    CAST(d.Title AS nVARCHAR(1024))

    AS nVARCHAR(1024)) AS treepath

    FROM AnbarCategory d

    INNER JOIN departmentcte

    ON departmentcte.deptid = d.ParentID
    )


    SELECT *

    FROM departmentcte

    ORDER BY treepath;


    ولی این کار وقتی جواب میده که بخوام همه نود ها را با parent هاش نشون بدم.
    1.jpg
    واگه بخوام فقط یک نود (مثلا deptid 13 )را توی یک ردیف با parent هاش نشون بدم کار نمیده و خروجی زیر را داره
    2.jpg

  2. #2
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,170

    نقل قول: بدست اوردن تمامی parent های یک نود

    سلام

    میشه یکم بیشتر توضیح بدید. شما depid رو برابر 13 قرار دادید و در کل یک ردیف اطلاعات هم بیشتر ندارید که depid اون برابر 13 باشه. قطعا خروجی یک ردیف بیشتر نیست.

  3. #3

    نقل قول: بدست اوردن تمامی parent های یک نود

    سلام
    من تست کردم با همین ساختار و کد ها.
    خروجی درست بهم می داد.
    فقط شرط رو اینطوری گزاشتم
    SELECT * FROM departmentcte t where t.deptid = 13
    ORDER BY treepath;



  4. #4
    کاربر دائمی آواتار moferferi
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    اصفهان
    سن
    39
    پست
    788

    نقل قول: بدست اوردن تمامی parent های یک نود

    نقل قول نوشته شده توسط mmbguide مشاهده تاپیک
    سلام

    میشه یکم بیشتر توضیح بدید. شما depid رو برابر 13 قرار دادید و در کل یک ردیف اطلاعات هم بیشتر ندارید که depid اون برابر 13 باشه. قطعا خروجی یک ردیف بیشتر نیست.
    ممنون از شما
    میخوام خروجی تصویر ضمیمه 2 برای depid 13 مثل depid 13 در خروجی تصویر 1 باشه

  5. #5
    کاربر دائمی آواتار moferferi
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    اصفهان
    سن
    39
    پست
    788

    نقل قول: بدست اوردن تمامی parent های یک نود

    ممنون hamid_hr
    بله همینا میخوام.
    ولی فک کنم شرط را اینجا بزارم اشتباهه
    چون اول میره تمام نود ها را پردازش میکنه و بعد فقط توی خروجی اونی که میخوایم را نشون میده.
    حالا اگه تعداد نود ها زیاد باشه و من فقط یکیش را بخوام پردازش زیادی انجام میشه

  6. #6

    نقل قول: بدست اوردن تمامی parent های یک نود

    نه درسته
    خود sql server متوجه میشه و با کمترین هزینه اجراش میکنه

تاپیک های مشابه

  1. درخواست یک برنامه ساده به زبان C (ساختار parent و child)
    نوشته شده توسط bababarghi در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: شنبه 18 مهر 1394, 01:18 صبح
  2. درست کردن parent sort
    نوشته شده توسط Emir New در بخش Yii Framework
    پاسخ: 11
    آخرین پست: یک شنبه 20 مهر 1393, 18:14 عصر
  3. ست کردن parent به فرم از یک soloution دیگر
    نوشته شده توسط nazanin366 در بخش C#‎‎
    پاسخ: 2
    آخرین پست: دوشنبه 02 تیر 1393, 12:14 عصر
  4. سوال: بدست آوردن parent پروسه
    نوشته شده توسط Mask در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: سه شنبه 30 فروردین 1390, 02:30 صبح
  5. بدست آوردن موقعيت كنترل در فرم parent
    نوشته شده توسط parselearn در بخش برنامه نویسی در 6 VB
    پاسخ: 4
    آخرین پست: شنبه 12 اردیبهشت 1388, 10:54 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •