gpt4 book ai didi

SQL Order By 中的 Order By

转载 作者:行者123 更新时间:2023-12-02 07:50:10 31 4
gpt4 key购买 nike

所以我有两个表,Questions 和 Answers,由多对多关系表 QuestionsAnswers 连接。 Questions 有一个排序列,允许我控制它们如何显示给用户,而 QuestionsAnswers 也有一个排序列,允许我控制每个问题的答案顺序。我的问题是我正在尝试编写一个 SQL 查询,该查询将选择所有问题及其首先按 Question.Sort 然后按 QuestionsAnswers.Sort 排序的答案。两个排序列都可以为 null,并且这些列中的整数应优先于 null。

我可以让 Order By Questions.Sort 正常工作,但是一旦我添加第二个排序列,它就会出错。例如,如果一个问题的 Sort = 0 意味着它应该是第一个显示的问题但对其答案没有任何偏好,它将在具有 Questions.Sort = null 和 QuestionsAnswers.Sort = 0 的 QuestionsAnswers 行下方排序.

如果这甚至可行,任何提示或想法都会很棒。

编辑:

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;

最佳答案

ORDER BY COALESCE(Questions.Sort, 999999999), COALESCE(Answers.Sort, 999999999)

关于SQL Order By 中的 Order By,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4307932/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com