PDA

View Full Version : سوال: کوئري که يه سطر رو به اندازه يه فيلد عددي تکرار کنه



merced
یک شنبه 10 آذر 1387, 19:10 عصر
سلام
يه جدول هست که دو فيلد نام و تعداد داره؛ بايد کوئري يا پروسيجري داشته باشم که هر رکورد رو به ازاي اون تعداد برام تکرار کنه
چه راهي رو پيشنهاد ميدين

merced
سه شنبه 12 آذر 1387, 18:01 عصر
يه راه پيدا کردم


if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tTemp]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[tTemp]
GO

CREATE TABLE [dbo].[tTemp] (
[ID] [bigint] IDENTITY (1, 1) NOT NULL ,
[Cod] [bigint] NULL
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[tTemp] WITH NOCHECK ADD
CONSTRAINT [PK_tTemp] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
GO




DECLARE @Code bigint
DECLARE @Cnt bigint
DECLARE @i bigint
DECLARE cur CURSOR FOR SELECT Code,Rank FROM tMembers

OPEN cur

FETCH NEXT FROM cur INTO @Code,@Cnt

WHILE @@FETCH_STATUS = 0
BEGIN
SET @i = 0
WHILE @i < @Cnt
BEGIN
INSERT INTO tTemp (Code) VALUES (@Code)
SET @i = @i+1
END

FETCH NEXT FROM cur INTO @Code,@Cnt
END


CLOSE cur
DEALLOCATE cur



کسي راه ديگه اي داره ؟