Мне нужно вывести все данные из таблицы data соответствующие определенной категории. Параметром для сравнения будет поле category.title.
Помогите, пожалуйста составить запрос для вывода данных.
Спустя 11 минут, 36 секунд (22.04.2010 - 08:11) maxims написал(а):
можно так
SELECT d.* FROM data d, cat_data cd, category c WHERE d.id=cd.id_data AND cd.id_cat=c.id AND name='title1'
Спустя 12 минут, 25 секунд (22.04.2010 - 08:24) alex_2017 написал(а):
Спасибо. Всё оказалось несколько легче чем я думал.
Спустя 3 минуты, 53 секунды (22.04.2010 - 08:28) maxims написал(а):
как сделал то? как я сказал.....
Спустя 1 минута, 35 секунд (22.04.2010 - 08:29) alex_2017 написал(а):
Да. Только псевдонимы убрал. Но у меня там все еще сложнее. Сейчас еще одну таблицу прикручиваю. С комментами.
Спустя 8 минут, 3 секунды (22.04.2010 - 08:37) alex_2017 написал(а):
А вот еще вопрос. Допустим у меня такой запрос
Получается если поля в таблице comments отсутствуют, то не выводится вся строка. В случае с LEFT JOIN пустое поле просто примет значение 0. Как можно добиться тогоже с помощью WHERE?
update
Ну все разобрался:
Извиняюсь за 2 сообщения подряд.
SELECT data.*, COUNT(comments.post) FROM data, cat_data, categories, comments
WHERE data.id=cat_data.id_data
AND cat_data.id_cat=categories.id
AND categories.title='php'
AND comments.post = data.id
GROUP BY data.id ORDER BY data.date DESC
Получается если поля в таблице comments отсутствуют, то не выводится вся строка. В случае с LEFT JOIN пустое поле просто примет значение 0. Как можно добиться тогоже с помощью WHERE?
update
Ну все разобрался:
SELECT data.*, COUNT(comments.post) FROM data
INNER JOIN cat_data ON data.id=cat_data.id_data
INNER JOIN categories ON cat_data.id_cat=categories.id AND categories.title='php'
LEFT JOIN comments ON comments.post = data.id
GROUP BY data.id ORDER BY data.date DESC
Извиняюсь за 2 сообщения подряд.