[英]MySQL Join returns too many rows with WHERE clause
我遇到SQL查詢問題。 所以在我的項目中,用戶可以預訂車程。 我希望按用戶ID( passenger_id
)顯示保留的游樂設施,但是當用戶僅為其中一個駕駛員廣告預訂時,查詢會返回所有用戶( driver_id
)廣告。
SELECT advertisement.id
, COUNT(review.driver_id) AS 'review_count'
, ROUND(AVG(review.mark) ,1) AS 'rating'
, users.unique_id
, users.name
, users.surname
, users.phone
, YEAR(CURDATE()) - YEAR(users.birthdate) AS age
, users.image
, advertisement.from_city
, advertisement.to_city
, users.car_name
, users.car_model
, users.car_make_year
, advertisement.number_of_places
, advertisement.price
, advertisement.datetime
, advertisement.info
FROM reserved_rides
JOIN advertisement
ON reserved_rides.driver_id = advertisement.user_id
LEFT
JOIN review
ON reserved_rides.driver_id = review.driver_id
JOIN users
ON reserved_rides.driver_id = users.unique_id
WHERE reserved_rides.passenger_id = ?
GROUP
BY advertisement.id
ORDER
BY advertisement.datetime ASC
這里出了什么問題?
我希望用GROUP BY advertisement.id
GROUP BY reserved_rides.driver_id
替換GROUP BY advertisement.id
解決你的問題。 干杯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.