2016-09-22 5 views
0

次のクエリを使用して、ビジネスディレクトリテーブルの結果をドロップダウンフィールドに入力しています。デフォルトのオプションを上にして、tsqlにデフォルトのオプションを設定しました

select 'Select a City' as City, 'All' as Value 
UNION ALL 
select distinct City, City as Value from BND_Listing 
where isnull(City,'') <> '' 
Order by City ASC 

私はそれがアルファベット順持っていますが、同じ他のすべてを維持し、リストの上部にある[都市を選択して 'とない私の維持したいと思います。

これは可能ですか?これにアプローチする

+2

サイドノートは、あなたの前の質問に正解を受け入れることを検討してください....あなたを助けるために他の人を励まします。乾杯。 http://stackoverflow.com/questions/39626354/order-by-select-statement-using-union-distinct http://stackoverflow.com/questions/39624368/t-sql-query-to-search-table -field-for-keywords http://stackoverflow.com/questions/39542201/sql-split-string-as-key-identity-value など... – scsimon

+0

こんにちは@scsimonはい、私はそれらに答えるつもりですトピックプラグイン側にバグがあり、入力が非常に高く評価されたので、元のクエリを使用して終了しました。しかし、その日の終わりに、元のクエリに固執してしまい、同じ日に私自身の質問に答えることができませんでした。 – UserSN

+0

良いアレックス音。 – scsimon

答えて

1
with cte as(
select 'Select a City' as City, 'All' as Value 
UNION ALL 
select distinct City, City as Value from BND_Listing 
where isnull(City,'') <> '') 


select * from cte Order by case when City = 'Select a City' then 1 else 2 end, City ASC 
+0

私にはエラーメッセージが表示されます。ステートメントにUNION、INTERSECT、またはEXCEPT演算子が含まれている場合は、ORDER BY項目が選択リストに表示されている必要があります。 – UserSN

+1

@AlexPはそれをCTEで包み込んでそれをより簡単にしました – scsimon

+0

@scsimonありがとうございます!私はそれが頻繁に使用されて参照してください "包装"の概念について読んで行くつもりです。私はまだtsqlが新しいことを理解するために少し時間がかかります。 – UserSN

1

もう一つの方法は、次のようになります。あなたが市にインデックスを持っていることを提供

-- sample data 
DECLARE @BND_Listing TABLE (City varchar(100) UNIQUE); 
INSERT @BND_Listing VALUES ('Chicago'),('New York'),('LA'); 

-- solution 
SELECT City, Value 
FROM 
(
    SELECT 0 as oGroup, 'Select a City' as City, 'All' as Value 
    UNION ALL 
    SELECT DISTINCT 1, City, City FROM @BND_Listing 
    WHERE City IS NOT NULL AND City <> '' 
) prep 
ORDER BY oGroup; 

(私は私のDDLでUNIQUE制約を使用したものを作成した)あなたは、ソートせずに結果を取得します実行計画で

+0

ありがとう。以前の答えは私のために働いていた。私はインデックスとそれが何のために使用できるかについて少しは読まなければならないでしょう。現在、私はscsimonから使用しているクエリがBND_Listingテーブルに入力されたデータを取得しているので、現在はStates/Countriesのインデックスについて調べています。しかし、私は国のために同じ州の略語を保存していると私は完全な綴り国/国としてそれらを表示したいと思います。ご回答有難うございます! – UserSN

関連する問題