ORDER BY-Elemente müssen in der Auswahlliste angezeigt werden, wenn SELECT DISTINCT angegeben ist

Ich habe eine SQL-Abfrage, in der ich Zeilen mit einer bestimmten Wertereihenfolge nach einer bestimmten Spalte zurückgeben möchte. Wie gesagt, ich möchte disntict batchno von ordertable order by locationid.

Ich habe versucht, Google auch, aber nicht in der Lage, Lösung zu finden

ORDER BY items must appear in the select list if SELECT DISTINCT is specified.

das, was ich jedes Mal bekam, wenn ich es versuchte.

Wenn ich "distinct" nicht verwende, bekomme ich eine Ausgabe, aber mit doppelten Zeilen unter Verwendung dieser Abfrage

Select Batchno,LocationId from Ordertbl order by case when[LocationId] =3 THEN 0 ELSE 1 END, [LocationId]

Wenn ich "distinct" benutze, erhalte ich einen Fehler. Dies sind Fragen, die ich ausprobiert habe.

Select distinct CAST(Batchno as Varchar(MAX)),LocationId from Ordertbl order by case when[LocationId] =3 THEN 0 ELSE 1 END,[LocationId]

oder

Select distinct CAST(Batchno as Varchar(MAX)),LocationId from Ordertbl order by case when[LocationId] =3 THEN 0 ELSE 1 END,[LocationId],[Batchno]

Das ist also, was ich versucht habe, aber kein Glück. Bitte hilf mir.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage