select dr_drvname, count(sh_wkflag)
from driver join shift on dr_drvnum = sh_drvnum
where sh_wkflag like '%T%'
group by dr_drvnum;
“T”对于转移工作意味着真实。如何使用另一个表中的计数和绘图名称?
驱动程序表包含所有名称。 Shift表包含sh_wkflag,其值为T或F,具体取决于班次是否有效。我希望能够获得“T”的所有值并计算它。显示驱动程序表中驱动程序编号分组的“T”数,以及驱动程序表中的驱动程序名称。
只要我不显示驱动程序名称,查询就会运行,但我也需要显示名称。我得到的错误是,dr_drvname不是按表达式分组。
答案 0 :(得分:0)
啊哈!错误告诉所有人。将dr_drvname
添加到GROUP BY
子句中。按dr_drvnum
进行分组是多余的,但没关系。
select dr_drvname, count(sh_wkflag)
from driver join shift on dr_drvnum = sh_drvnum
where sh_wkflag like '%T%'
group by dr_drvnum, dr_drvname;