如何将联接表中的值与交叉连接进行比较? MySQL的

时间:2014-12-03 16:44:28

标签: mysql sql

我想运行此查询:

SELECT business.name as businessName i.ratingCount , i.ratingSum
FROM business
cross join
  (
    SELECT SUM(rating.rating) as ratingSum,COUNT(rating.bussId) as ratingCount 
    FROM rating 
    WHERE rating.bussId = business.bussId   
  )i

但我收到此错误Unknown column 'business.bussId'!如何解决?

I don't want to use left join !

1 个答案:

答案 0 :(得分:0)

您需要将其用作相关子查询

SELECT business.name as businessName,
       ( select sum(rating.bussId)
         from rating 
         where rating.bussId = business.bussId
       ) as ratingSum,
       ( select count(rating.bussId)
         from rating 
         where rating.bussId = business.bussId
       ) as ratingCount
FROM business

或者您可以使用左连接并按

进行分组
SELECT business.name as businessName,
       sum(rating.bussId) as ratingSum,
       count(rating.bussId) as ratingCount
 FROM business
 left join rating
 on business.bussId = rating.bussId
 group by business.name