as的新字段能不能做为条件?

SQL这样写:

SELECT

`工作内容`.userid,

`工作内容`.`日期`,

`工作内容`.`时间`,

`工作内容`.`工作内容`,

`工作内容`.`类型`,

`工作内容`.`核销`,

`工作内容`.`核日`,

`工作内容`.`核时`,

`工作内容`.`填报时间`,

Count(`人员关系`.`可打分人`) as 应打分数量,

(

SELECT

count(`打分情况`.`分数`)

FROM

`打分情况`

WHERE

`打分情况`.`日期`=`工作内容`.`日期` AND 

`打分情况`.`得分人`=`工作内容`.userid AND

`打分情况`.`修正` <> "1"

) AS `打分数量`,

concat("调:",DATE_FORMAT(日期,"%y%m%d"),时间,".",工作内容) AS `调休内容`

FROM

`工作内容`,

`人员关系`

WHERE

`工作内容`.`日期` BETWEEN `人员关系`.`执行时间` AND IFNULL(`人员关系`.`废止时间`,STR_TO_DATE("2099-12-31",'%Y-%m-%d')) AND

`工作内容`.userid = `人员关系`.`可被打分人` AND

`打分数量`>=`应打分数量`

GROUP BY

`工作内容`.userid,

`工作内容`.`日期`,

`工作内容`.`时间`

ORDER BY

`工作内容`.`日期` ASC,

`工作内容`.userid ASC


返回错误:

[Err] 1054 - Unknown column '打分数量' in 'where clause'


如果不加“`打分数量`>=`应打分数量`”这个条件顺利生成表,加了这个条件才出现错误,怎么改?


nhb2318 发布于 2019-8-25 13:48
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
axingLv6专家互助
发布于2019-8-25 16:46

试试

SELECT
`工作内容`.userid,
`工作内容`.`日期`,
`工作内容`.`时间`,
`工作内容`.`工作内容`,
`工作内容`.`类型`,
`工作内容`.`核销`,
`工作内容`.`核日`,
`工作内容`.`核时`,
`工作内容`.`填报时间`,
Count(`人员关系`.`可打分人`) as 应打分数量,
concat("调:",DATE_FORMAT(日期,"%y%m%d"),时间,".",工作内容) AS `调休内容`
FROM
`工作内容`,
`人员关系`
WHERE
`工作内容`.`日期` BETWEEN `人员关系`.`执行时间` AND IFNULL(`人员关系`.`废止时间`,STR_TO_DATE("2099-12-31",'%Y-%m-%d')) AND
`工作内容`.userid = `人员关系`.`可被打分人`
GROUP BY
`工作内容`.userid,
`工作内容`.`日期`,
`工作内容`.`时间`
having (
SELECT
count(`打分情况`.`分数`)
FROM
`打分情况`
WHERE
`打分情况`.`日期`=`工作内容`.`日期` AND 
`打分情况`.`得分人`=`工作内容`.userid AND
`打分情况`.`修正` <> "1"
)>=Count(`人员关系`.`可打分人`) 
ORDER BY
`工作内容`.`日期` ASC,
`工作内容`.userid ASC


  • 2关注人数
  • 312浏览人数
  • 最后回答于:2019-8-25 16:46
    请选择关闭问题的原因
    确定 取消
    返回顶部