sql >> Databáze >  >> RDS >> Sqlserver

SQL Custom Order By

Chybová zpráva dokonale vysvětluje problém.

V prvním příkladu ORDER BY položka -- CASE WHEN ... END -- neobjevuje se v SELECT seznam.

Ve druhém příkladu ORDER BY item -- a.QuestionID -- se objeví v SELECT seznam.

Chcete-li opravit první příklad, budete muset udělat něco takového:

SELECT DISTINCT a.QuestionID, a.QuestionName, b.AnswerID, b.AnswerName,
                CASE WHEN a.QuestionName = 'A' THEN 0
                     WHEN a.QuestionName = 'B' THEN 1
                     ELSE a.QuestionID
                END
FROM @TempExportList AS a
    JOIN tblAnswers AS b
        ON a.QuestionID = b.QuestionID
WHERE a.PaperID = @PaperID
ORDER BY CASE WHEN a.QuestionName = 'A' THEN 0
              WHEN a.QuestionName = 'B' THEN 1
              ELSE a.QuestionID
         END


  1. Vytvořit spouštěč pro protokolování SQL ovlivněné tabulky?

  2. Mysql výběrový dotaz pro získání aktuálního příspěvku uživatele a sledování příspěvku přítele

  3. SQLite AUTOINCREMENT

  4. obnovte stránku html, když byla vložena nová položka SQL