Итак, у меня есть две таблицы «Вопросы и ответы», соединенные таблицей отношений «многие ко многим», «Вопросы и ответы».У вопросов есть столбец Сортировка, который позволяет мне контролировать способ их отображения пользователю, а у Вопросов-ответов также есть столбец сортировки, который позволяет мне контролировать порядок ответов на каждый Вопрос.Моя проблема в том, что я пытаюсь написать SQL-запрос, который выберет все Вопросы и их ответы, упорядоченные сначала по Question.Sort, а затем по QuestionsAnswers.Sort.Оба столбца сортировки могут иметь значение NULL, и целые числа в этих столбцах должны иметь приоритет над NULL.
Я могу сделать так, чтобы Order By Questions.Sort работал нормально, но как только я добавлю во второй столбец сортировки, он будет ошибочным.Например, если у Вопроса есть Sort = 0, означающий, что это должен быть первый отображаемый Вопрос, но не имеет никаких предпочтений для его Ответов, он будет упорядочен ниже строки QuestionAnswers, которая имеет Questions.Sort = null и QuestionsAnswers.Sort = 0.
Любые советы или мысли, если это даже выполнимо, были бы великолепны.
edit:
SELECT
Q.Id AS QuestionId,
Q.Name AS Question,
A.Id AS AnswerId,
A.Text AS Answer
FROM
dbo.Questions AS Q
INNER JOIN
dbo.QuestionsAnswers AS QA
ON Q.Id = QA.QuestionId
INNER JOIN
dbo.Answers AS A
ON QA.AnswerId = A.Id
ORDER BY
ISNUMERIC(Q.Sort) DESC,
Q.Sort,
Q.Id,
A.Text;