私は自分のサイトに2つのテーブルから会社情報を引き出しているデータグリッドを持っています。UNIONを使用してデータをグリッドに引き出す
私はこれが最初のグリッドにデータをロードするために私のクエリで3つのフィルター(カテゴリ、州、市)に基づいて、これらの結果をソートする
をフォームを作成しています。私は、それが誰も私のクエリがWHEREステートメントを完了するためにクエリ文字列の値を渡すのを待っているとしてUNIONを使用している理由は、フィルタリングすることを決定するまで、
SELECT * FROM BND_listing left join BND_ListingCategories
on BND_Listing.CatID=BND_ListingCategories.CatID
UNION
SELECT * FROM BND_listing left join BND_ListingCategories
on BND_Listing.CatID=BND_ListingCategories.CatID
WHERE (CategoryName = '[querystring:filter-Category]' OR '[querystring:filter-Category]' is NULL)
これが適切な手順であるかどうかはわかりません。
このクエリのNULLパラメータを理解するのが難しいです。ページ・ロード時には、問合せ文字列はありません。
ユーザーが「SORT」ボタンを押すと、クエリ文字列がURLに追加されます。ユーザーはフィルタの1つまたは3つすべてでソートすることができますが、オプションのうちの1つのみをソートする場合もあります。クエリ文字列は、残された他の2つについてALLを渡します。
IE:フィルタカテゴリ/バーバー%20Shop /フィルタ-市/オール/フィルタステート/ここではすべての ユーザーのみ1つのドロップダウンから「バーバーショップ」を選択し、そのよう市& Stateドロップダウンを残しましたデフォルト選択。
クエリ文字列パラメータを「リッスンする」というクエリは、自分のアプリケーションで正しく機能していません。しかし、SQL Management Studioで以下のものを使用すると、正しくレコードが取得されます。
SELECT * FROM BND_listing left join BND_ListingCategories
on BND_Listing.CatID=BND_ListingCategories.CatID
WHERE (CategoryName = 'Barber Shop' OR '[querystring:filter-Category]' is NULL)
これは、3つの「リスニング」WHERE文がすべて含まれた私のデータグリッドクエリです。
SELECT * FROM BND_listing left join BND_ListingCategories
on BND_Listing.CatID=BND_ListingCategories.CatID
UNION
SELECT * FROM BND_listing left join BND_ListingCategories
on BND_Listing.CatID=BND_ListingCategories.CatID
WHERE (CategoryName = '[querystring:filter-Category]' OR '[querystring:filter-Category]' is NULL)
AND (city = '[querystring:filter-City]' OR '[querystring:filter-City]' IS NULL)
AND (state ='[querystring:filter-State]' OR '[querystring:filter-State]' IS NULL)
ヘルプ、入力、例、洞察力が高く評価されています。オンライン
最初の選択と2番目の選択結果を表示します。 –
こんにちはデニー、 私は写真を追加しました。 – UserSN
[querystring:filter-Category]は何ですか、それはidkです。その値はhtmlから入力されますか? –