您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

“具有子句”中的未知列

“具有子句”中的未知列

如文档中所写

sql标准要求HAVING必须仅引用GROUP BY子句中的列或聚合函数中使用的列。但是,MysqL支持对此行为的扩展,并允许HAVING引用SELECT列表中的列以及外部子查询中的列。

您必须在select子句中指定return_date和rental_date。

有两种选择:

SELECT DISTINCT
  customer.first_name,
  rental.return_date,
  rental.rental_date
FROM
  rental,
  customer
WHERE
  rental.customer_id = customer.customer_id
GROUP BY
  rental.rental_id
HAVING
  (
    rental.return_date - rental.rental_date
  ) =(
  ...

要么

SELECT DISTINCT
  customer.first_name,
  (rental.return_date - rental.rental_date) as rental_duration
FROM
  rental,
  customer
WHERE
  rental.customer_id = customer.customer_id
GROUP BY
  rental.rental_id
HAVING
  rental_duration =(
  ...

两者都应该工作正常。

其他 2022/1/1 18:15:14 有631人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶