Ich habe die folgenden SPABSTEIGEND/ASCENDING Parameter an eine gespeicherte Prozedur
CREATE PROCEDURE GetAllHouses
set @webRegionID = 2
set @sortBy = 'case_no'
set @sortDirection = 'ASC'
AS
BEGIN
Select
tbl_houses.*
from tbl_houses
where
postal in (select zipcode from crm_zipcodes where web_region_id = @webRegionID)
ORDER BY
CASE UPPER(@sortBy)
when 'CASE_NO' then case_no
when 'AREA' then area
when 'FURNISHED' then furnished
when 'TYPE' then [type]
when 'SQUAREFEETS' then squarefeets
when 'BEDROOMS' then bedrooms
when 'LIVINGROOMS' then livingrooms
when 'BATHROOMS' then bathrooms
when 'LEASE_FROM' then lease_from
when 'RENT' then rent
else case_no
END
END
GO
Jetzt ist alles, dass SP funktioniert, aber ich möchte in der Lage sein zu entscheiden, ob ich auf- oder absteigenden sortieren möchten. Ich kann wirklich keine Lösung dafür finden mit SQL und kann nichts in Google finden.
Wie Sie sehen können, habe ich den Parameter sortDirection und ich habe versucht, es auf mehrfache Weise, aber immer mit Fehlern ... Versuchte Case-Anweisungen, IF-Anweisungen usw. zu verwenden, aber es ist kompliziert durch die Tatsache, die ich einfügen möchte ein Schlüsselwort
Hilfe wird sehr geschätzt, ich habe versucht, die Dinge, die in den Sinn kommt, aber nicht in der Lage, es richtig zu machen.
Dank Mann :) Es funktionierte, versuchte ich die Lösung, die Sie vorschlagen, sondern nur mit einem Gehäuse und zwei whens statt und das hat nicht funktioniert und ich kann sehen, warum, danke für die Erklärung. Ich dachte über die Ausführung der SQL, aber ich könnte fast so gut in C# dann .. bauen. Es nervt mich immer noch, dass die Sortierung muss zweimal kommen –