У меня есть этот запрос, который я запускаю для mysql:
SELECT video.title AS title,
video.url AS url,
video.id AS id,
video.description AS description,
avg(BodyPartsVideosUser.rating) AS rating
FROM videos AS video
LEFT JOIN body_parts_videos as BodyPartsVideo on BodyPartsVideo.video_id = video.id
LEFT JOIN body_parts_videos_users as BodyPartsVideosUser on BodyPartsVideo.id = BodyPartsVideosUser.body_parts_video_id
WHERE BodyPartsVideo.body_part_id = 39
GROUP BY BodyPartsVideosUser.body_parts_video_id
ORDER BY rating DESC ;
Теперь проблема в том, что я получаю обратно одну строку с этим запросом.
Однако моя таблица видеоимеет три совершенно разные записи, и моя таблица body_parts_videos имеет три записи, соответствующие таблице видео.Однако столбец body_part_id содержит 39 для каждой записи.
Таблица body_parts_videos_users пуста.
Как изменить этот запрос, чтобы получить все три строки, возвращаемые?
body_parts_videos:
+----+--------------+----------+
| id | body_part_id | video_id |
+----+--------------+----------+
| 1 | 39 | 26 |
| 3 | 39 | 28 |
| 4 | 39 | 29 |
+----+--------------+----------+
videos:
+----+---------+-------------+--------------------------------------+-------------+----------
| id | title | description | user_id | url | filename | created | modified |
+----+---------+-------------+--------------------------------------+-------------+----------
| 26 | new vid | dd | 1 | eMvu0Cbi040 | a.avi | 2011-11-23 | 2011-11-23 |
| 28 | new vid | dd | 2 | ETyBso2SHJM | b.avi | 2011-11-23 | 2011-11-23 |
| 29 | title | ddd | 3 | 2Ud41iWKUIg | c.avi | 2011-11-23 | 2011-11-23 |
+----+---------+-------------+--------------------------------------+-------------+----------
body_parts_videos_users: empty
Я хочу выбрать из пустой таблицы body_parts_videos_users, потому что, когда есть результаты, я хочу ихпоявляться первым.Пустой ряд каким-то волшебным образом становится равным нулю, но я в порядке.
Есть идеи, что я делаю не так?Ой!Вот что я получаю, когда запускаю запрос:
+---------+-------------+----+-------------+--------+-
| title | url | id | description | rating |
+---------+-------------+----+-------------+--------+-
| new vid | eMvu0Cbi040 | 26 | dd | NULL |
+---------+-------------+----+-------------+--------+-
Вот что я ожидал:
+---------+-------------+----+-------------+--------+-
| title | url | id | description | rating |
+---------+-------------+----+-------------+--------+-
| new vid | eMvu0Cbi040 | 26 | dd | NULL |
+---------+-------------+----+-------------+--------+-
| new vid | ETyBso2SHJM | 28 | dd | NULL |
+---------+-------------+----+-------------+--------+-
| title | 2Ud41iWKUIg | 29 | ddd | NULL |
+---------+-------------+----+-------------+--------+-
Любая помощь очень ценится!