显示司机名称和他们工作的班次

时间:2012-12-02 21:51:30

标签: sql oracle

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不是按表达式分组。

1 个答案:

答案 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;