所以这个查询是针对一个数据库的组合框,我试着对出现在里面的项目列表进行排序,但是它不起作用。这是问题所在
Select "*", "<<All Records>>"
FROM Treatment
UNION
Select Treatment.TreatmentID, Treatment.Treatment
From Treatment;
我试着为查询的两个部分添加order by,并尝试切换它,但仍然不起作用,有什么想法吗?我试着
ORDER BY Treatment.TreatmentID
,因为那是那个表的主键顺便说一句,在没有工会参与的情况下,第二部分本身就起了作用。目前,数据排序如下:
<<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,治疗名称(显然不是所有的治疗名称)来自字段treatment name。我需要最上面的“所有记录”,然后根据id对union第二部分的数据进行排序。
提前谢谢你,
亚当
最佳答案
您可以添加一个用于对数据排序的字段:
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
列名。