MySQL中subquerying,mySQL与Subquery相关

试图写一个mysql查询,并在这个问题上遇到很多困难.

我有两个表(项目:关于项目的信息,以及itemReview:项目的评论)

我想要做的是选择属于特定位置的所有项目(这是我的外部查询所做的),然后对于外部查询中的每个项目,获取itemReview表中所有评级字段的平均值

这是我的尝试:

SELECT

Item.idDish,

Item.dateAdded,

Item.dateModified,

Item.fidLocation,

Item.category,

Item.description,

Item.price,

Item.name,

Item.fullImageName,

Item.thumbnailImageName,

sub.rating

FROM Item

JOIN (

SELECT

AVG(ItemReview.rating) AS rating

FROM ItemReview

WHERE ItemReview.fidItem = Item.idItem

) AS sub

WHERE Item.fidLocation = '63';

但mySQL说:’where子句’中的未知列’Item.idItem’

任何帮助将非常感谢!!谢谢!!

解决方法:

您正在尝试访问子查询中的Item.idItem,但它在那里不可用.你应该使用这样的东西:

SELECT

Item.idDish,

Item.dateAdded,

Item.dateModified,

Item.fidLocation,

Item.category,

Item.description,

Item.price,

Item.name,

Item.fullImageName,

Item.thumbnailImageName,

sub.rating

FROM Item

JOIN

(

SELECT fidItem, AVG(ItemReview.rating) AS rating

FROM ItemReview

GROUP BY ItemReview.fidItem

) AS sub

ON sub.fidItem = Item.idItem

WHERE Item.fidLocation = '63';

标签:mysql,join,subquery,correlated-subquery

来源: https://codeday.me/bug/20190716/1479700.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值