sql >> Database teknologi >  >> RDS >> Sqlserver

SQL tilpasset rækkefølge efter

Fejlmeddelelsen forklarer problemet perfekt.

I det første eksempel er ORDER BY item -- CASE WHEN ... END -- vises ikke i SELECT liste.

I det andet eksempel er ORDER BY item -- a.QuestionID -- vises i SELECT liste.

For at rette det første eksempel skal du gøre noget som dette:

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. SqlCommand.ExecuteScalar Annuller

  2. JAXB 2 i en Oracle 10g webapp

  3. mysql_real_escape_string forårsager problemer?

  4. Aktiver ekstern MySQL-forbindelse:FEJL 1045 (28000):Adgang nægtet for bruger