Задавайте вопросы, мы ответим
Вы не зашли.
Всем привет!
Таблица 1
id | image | hits
-----------------
1 | 1.jpg | 40
2 | 2.jpg | 25
3 | 3.jpg | 55
4 | 4.jpg | 15
5 | 5.jpg | 53
6 | 6.jpg | 24
Таблица 2
uid | like | type
------------------
1 | 20 | photo
2 | 3 | photo
2 | 5 | VIDEO
3 | 12 | photo
6 | 22 | photo
нужно:
id | image | hits | like | type
--------------------------------
1 | 1.jpg | 40 | 20 | photo
2 | 2.jpg | 25 | 3 | photo
3 | 3.jpg | 55 | 12 | photo
4 | 4.jpg | 15 | |
5 | 5.jpg | 53 | |
6 | 6.jpg | 24 | 22 | photo
мой запрос:
SELECT a.id, a.image, a.hits, b.like FROM `Таблица 1` as a
JOIN `Таблица 2` as b
ON a.id = b.uid
WHERE b.type = 'photo'
но результат:
id | image | hits | like | type
--------------------------------
1 | 1.jpg | 40 | 20 | photo
2 | 2.jpg | 25 | 3 | photo
3 | 3.jpg | 55 | 12 | photo
6 | 6.jpg | 24 | 22 | photo
в чем моя ошибка?
Неактивен
Здравствуйте.
Ошибка в том, что Вы исключаете из выборки те строки, у которых type не photo.
Попробуйте через LEFT JOIN вместо JOIN.
Неактивен
LEFT JOIN Пробовал, результат тот же
в таблице 1 все фотки
в таблице 2 все объекты за которые проголосовали
а мне нужно вывести все фотки с их голосами
Неактивен
Тогда немного хитрее
Неактивен