0

私はあなたがどの国から来たのかを定義する国の表を手に入れました. そして、ドロップダウンリストにすべて検索を選択したいセクションが1つあります。そして、国が 0 の場合、次のコードのように制限されないようにしたいのですが、(country = @country and town = @town) 私はただ (town = @town) にしたいだけです。

   IF @Case = 1 BEGIN
                SELECT
                    Rec_Id,
                    Country,
                    PostalCode,
                    Town,
                    Lat,
                    Lng


                FROM dbo.tbl_PostalCode AS PC WITH (NOLOCK)
                WHERE 
                 (town = @town AND country = @country) or (postalcode = @postalcode AND country = @country) 
4

4 に答える 4

0

「すべての国を選択」オプションが設定されている場合は、@country に null を送信するだけで済みます。

次のように where 句を使用します: WHERE (@country is null or country = @country)

編集:物事を明確にするためだけに。null値を使用する理由は、任意の値を使用するよりも「そのパラメーターのフィルターがない」ことを意味する私見が優れているためです。

于 2013-08-15T08:10:34.310 に答える