gpt4 book ai didi

mysql连接虚表

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:05 25 4
gpt4 key购买 nike

好的,我有一个评级表。为每个留下评级的用户创建一个新行。我试图做的是创建一个查询,该查询将返回现在和 7 天前存在的每个特定行的评级值。

广义的观点是,我想计算总平均评分与 7 天前总平均评分的差值。

我认为这条路是正确的,但我得到了

Unknown column 'start_ratings.menu_item_id' in 'on clause'

SELECT *
FROM ratings end_ratings
JOIN (
SELECT menu_item_id as end_menu_item_id, AVG(value) AS end_rating
FROM ratings
WHERE
created_at > current_date - 7
AND menu_item_id IS NOT NULL
AND location_id IS NOT NULL
GROUP BY menu_item_id
) start_ratings ON (end_ratings.menu_item_id = start_ratings.menu_item_id)
WHERE menu_item_id IS NOT NULL
AND location_id IS NOT NULL;

最佳答案

您已将列 别名为 end_menu_item_id。只需使用它,因为只有别名在 ON 子句、SELECT 列表等派生表的 () 之外是已知的。 .

因为这个:

SELECT menu_item_id as end_menu_item_id, 
/*-----------------^^^^^^^^^^^^^^^^^^^^^^ */

使用这个:

...) start_ratings ON (end_ratings.menu_item_id = start_ratings.end_menu_item_id)
/*----------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^ */

关于mysql连接虚表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14467050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com