我有以下 SQL 查询:
SELECT DISTINCT LEFT (employeeidno, 4)deptcode
from employeemasterfile
ORDER BY deptcode ASC
产生一个DISTINCT值D001toD051
SELECT TOP 1 RIGHT (employeeidno, 7) empno
from employeemasterfile
ORDER BY empno DESC
产生一个值 0000267
我在这里试图实现的是to 的每个DISTINCT值都应该产生它的值。D001D051TOP 1
这就是我正在努力实现的目标。
deptcode :D001; empno: 0000016
deptcode :D002; empno: 0000024
deptcode :D004; empno: 0000029
deptcode :D005; empno: 0000020
deptcode :D006; empno: 0000056
deptcode :D007; empno: 0000164
deptcode 将显示所有唯一的 D001-D007,empno 将显示每个唯一的 deptcode 的 TOP1。
select deptcode, empno
from
(
SELECT TOP 1 RIGHT (employeeidno, 7) empno from employeemasterfile ORDER BY empno DESC
UNION
SELECT DISTINCT LEFT (employeeidno, 4)deptcode from employeemasterfile ORDER BY deptcode ASC
) results
ORDER BY deptcode
不幸的是我不能这样做,因为如果我要添加一个新参数,UNION 将不起作用。
我可以请你帮忙解决这个问题吗?
30秒到达战场
慕神8447489
偶然的你