با عرض سلام
من یک جدول دارم که شماره جدید و قدیم کالا ها رو نگهداری می کنه در sql server 2008 r2
CREATE TABLE [dbo].[Parts_PartsReplace]( [OldPartNum] [nvarchar](30) NOT NULL, [NewPartNum] [nvarchar](30) NOT NULL, [Dscp] [nvarchar](50) NULL, CONSTRAINT [PK_Parts_PartsReplace] PRIMARY KEY CLUSTERED ( [OldPartNum] ASC, [NewPartNum] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
حالا می خوام با استفاده از کوئری بازگشتی تمام شماره های جایگزین رو پیدا کنم اول یک view ساختم که تمام کالا ها رو چه شماره قدیم دارند چه ندارند برمی گردونه
SELECT dbo.Parts_PartsReplace.OldPartNum, Parts_PartsReplace_1.NewPartNum FROM dbo.Parts_PartsReplace RIGHT OUTER JOIN dbo.Parts_PartsReplace AS Parts_PartsReplace_1 ON dbo.Parts_PartsReplace.NewPartNum = Parts_PartsReplace_1.OldPartNum
و ازش استفاده کردم تا کوئری بازگشتی زیر رو بنویسم اما کوئری بازگشتی هیچی بر نمگردونه؟؟!!
WITH Parts_PartsReplaceRecursive(OPartNum,PartNum,LEVEL ) AS ( SELECT OldPartNum,NewPartNum,0 AS LEVEL FROM dbo.Parts_PartsReplaceView WHERE OldPartNum = null UNION ALL SELECT OldPartNum,NewPartNum,Level + 1 AS LEVEL FROM dbo.Parts_PartsReplaceView INNER JOIN Parts_PartsReplaceRecursive AS PR ON PR.PartNum = dbo.Parts_PartsReplaceView.OldPartNum ) SELECT OPartNum,PartNum,LEVEL FROM Parts_PartsReplaceRecursive
این پست در تاریخ {{ dateString(new Date(post.deleteDate)) }} توسط {{ post.deletedByUser }} حذف شده است.
دلیل حذف: {{ post.deleteReason ?? 'نامشخص' }}
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود