я написал запрос SQL, который возвращает мне перемешиваются данные с помощью NEWID() в SQL Server 2012.Перемешать записи и последовательные записи в SQL сервере
Сценарий: У меня есть таблица, в которой у нас есть вопросы в таблице - «tblquest», тогда как в таблице «tblquestLinked» у нас есть связанный вопрос, связанный с основным вопросом в таблице «tblquest», Теперь приведенный ниже запрос правильно выводит перетасованные данные.
select ROW_NUMBER() Over (Order by newid()) as sNo,*
from (select q.ID AS [QID], q.Question,
q.Solution,
isnull(q.IsLinked,0) as IsLinked, ql.LinkQuestion
from tblquest q
left join tblQuestLinked ql
on q.ID = ql.QID) a
Я хочу, чтобы набор данных, возвращаемый запросом должен также иметь связанный вопрос в нем, но не следует перемешиваются, вместо этого должен быть следующий ряд, чтобы связанный «главный» вопрос.
EDIT
Поскольку эти множества вопросов будет представлена на Интернет-приложение экспертизы, перетасовка вопросов является обязательной.
Один главный вопрос может быть от 0 до многих Связанные вопросы. И связанный вопрос появляется следующая же строка, что соответствующий «Вопрос Main». Как это будет передан в UI, и он будет предоставлять вопросы, основанные на SNO (серийный номер)
Пожалуйста, найдите скриншот (желаемый результат) :
схемы Сценарии:
CREATE TABLE [dbo].[tblQuest](
[ID] [int] IDENTITY(1,1) NOT NULL,
[IsLinked] [bit] NULL,
[Question] [nvarchar](500) NULL,
[Solution] [nvarchar](500) NULL,
CONSTRAINT [PK_tblQuest] 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]
)
GO
CREATE TABLE [dbo].[tblQuestLinked](
[ID] [int] IDENTITY(1,1) NOT NULL,
[QID] [int] NULL,
[LinkQuestion] [nvarchar](max) NULL,
[CreatedDate] [datetime] NULL,
CONSTRAINT [PK_tblQuestLinked] 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]
)
GO
INSERT [dbo].[tblQuest] ([IsLinked], [Question], [Solution]) VALUES (0, N'Which of ... 1 ', 'Solution 1 ... ')
INSERT [dbo].[tblQuest] ([IsLinked], [Question], [Solution]) VALUES (0, N'Which of ... 2 ', 'Solution 2 ... ')
INSERT [dbo].[tblQuest] ([IsLinked], [Question], [Solution]) VALUES (0, N'Which of ... 3 ', 'Solution 3 ... ')
INSERT [dbo].[tblQuest] ([IsLinked], [Question], [Solution]) VALUES (0, N'Which of ... 4 ', 'Solution 4 ... ')
INSERT [dbo].[tblQuest] ([IsLinked], [Question], [Solution]) VALUES (0, N'Which of ... 5 ', 'Solution 5 ... ')
INSERT [dbo].[tblQuest] ([IsLinked], [Question], [Solution]) VALUES (0, N'Which of ... 6 ', 'Solution 6 ... ')
INSERT [dbo].[tblQuest] ([IsLinked], [Question], [Solution]) VALUES (1, N'Which of ... 7 ', 'Solution 7 ... ')
INSERT [dbo].[tblQuestLinked] ([QID], [LinkQuestion]) VALUES (7, N'LINKED Q : SUB LINKED')
Пожалуйста, измените свой вопрос и предоставить образец данные и желаемые результаты. –
Вот отличное место для начала. http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ –
@GordonLinoff - обновленный вопрос – Aakash