同じSPからすべての顧客または1つの顧客を選択したいとします。今、我々はこれらの詳細を取得するには2つのSPをmantainingされていますMy SQL:where文の条件を追加しますか?
すなわち、すべての顧客を取得するには、次の
select id, name from customers
をし、一人の顧客を取得する:
select id, name from customers
where id=id_from_input
彼らが共通にするためには、私は考えますすべての顧客を獲得するにはid_from_input
をnullとして処理します。私はいくつかの方法は、この計画で動作する私のSQLでステートメントを条件を作成しようとしましたが、何も動作していません。例:
私に構文エラーがあります。
id_from_input
がヌルの場合はすべての行を返すwhere
節を作成するにはどうすればよいですか?
SELECT id, name FROM customers WHERE id = CASE WHEN ISNULL(id_from_input,'')
<> '' THEN id_from_input ELSE id END
' CASE:
以上の簡潔な(と私見エレガントな)何かのため
。 – Hexxed