0
私は動的WHERE CASE条件を持つ必要があるselectを持っています。あなたが見ることができるようにCASEをWHEREでどのように動的に使用するのですか?日時を選択すると
SELECT
*
FROM
vwShowUctyPohyby
WHERE
(@id_parent is null or [email protected]_parent)
and (datetime_creation <= @record_first_datetime)
ORDER BY
CASE @sort_order WHEN 0 THEN datetime_creation END ASC,
CASE @sort_order WHEN 1 THEN datetime_creation END DESC
は動的ORDER
のタイプを選択するための条件があります。今私はWHERE
部分と同じことをする必要があります。私はdatetime_creation = CASE .....のように動作することがわかりました。
問題は、WHERE条件にはdatetime_creation <= @record_first_datetime
を、その他の条件にはdatetime_creation >= @record_first_datetime
を作成する必要があるという問題です。
どうすればよいですか?私は2つの選択を作成し、IF ELSE文を使用したくない。
私はSQL側でROWCOUNTを使用して動的ページングにこのSELECTを使用しています。
CASEは、ステートメントの一部ではなく、列の値(フィールドレベル)に使用できます。あなたがこれを好まない場合でも、2つのステートメントを作成する必要があります。 – nabuchodonossor
ありがとう、私はそれを評価したい適切な答えとしてこれを行うことができます。ご協力いただきありがとうございます。 – feronovak