2

したがって、このクエリはデータベースのコンボ ボックス用であり、内部に表示されるアイテムのリストを並べ替えようとしましたが、うまくいきません。これがクエリです

Select "*",  "<<All Records>>" 
FROM Treatment 
UNION 
Select Treatment.TreatmentID, Treatment.Treatment 
From Treatment;

クエリの両方の部分に Order By を追加しようとしましたが、それを切り替えてみましたが、まだ機能していません。ORDER BY Treatment.TreatmentIDそれがそのテーブルの主キーであるため、私はしようとしました

ちなみに、ユニオンが関与していない場合、ORDER BYは2番目の部分自体で機能します。現在、データは次のようにソートされています。

<<All Records>>
1 Treatment Name
8 Treatment Name
9 Treatment Namw
10 Treatment Name
11 Treatment Name 
12 Treatment Name
2 Treatment Name
Etc...

番号は ID であり、治療名 (明らかにすべてが治療名と呼ばれるわけではありません) は治療名フィールドからのものです。一番上に「すべてのレコード」が必要で、ユニオンの 2 番目の部分のデータを ID で並べ替えます。

前もって感謝します、

アダム

4

3 に答える 3

6

できることの1つは、データの並べ替えに使用できるフィールドを追加することです。

Select "*" as AllRec,  "<<All Records>>" as Allrecords, 1 as SortOrder
FROM Treatment 
UNION 
Select Treatment.TreatmentID, Treatment.Treatment, 2 as SortOrder
From Treatment
ORDER BY SortOrder, AllRec;

は常に最後に適用されるため、列名ORDER BYはわかりません。Treatment.TreatmentID

于 2013-01-29T17:04:24.473 に答える
1

あなたはこれを行うことができます:

Select q.* from 
(Select "*", "<>" 
FROM Treatment UNION 
Select Treatment.TreatmentID, Treatment.Treatment 
From Treatment) q
ORDER BY q.whatever
于 2013-01-29T17:03:49.607 に答える