Не могу найти ошибку в SQL-запросе
Есть запрос :
SELECT c.* ,COUNT(rm.rubric_id) AS material_amount,owner.user_login AS rubric_owner_login ,owner.user_name AS rubric_owner_name
FROM rubric c, rubric p
LEFT OUTER JOIN rubric_material rm ON c.rubric_id = rm.rubric_id
LEFT OUTER JOIN user owner ON c.rubric_owner_id = owner.user_id
WHERE p.rubric_id =1 AND c.L_index
BETWEEN p.L_index AND p.R_index AND c.R_index
BETWEEN p.L_index AND p.R_index AND c.rubric_system='0'
GROUP BY rubric_id ORDER BY L_index
Выдает ошибку : #1054 - Unknown column 'c.rubric_id' in 'on clause'
БД: MySQL 5.0.45-community-nt
Столбец rubric_id существует и все остальные столбцы тоже. Запрос вроде валидный, но ошибка вылетает. Уже не знаю че делать ((((
Хелп плиз!
Если пишет что нет, значит нет. Перепроверь!!!
Цитата:
FROM rubric c, rubric p
LEFT OUTER JOIN rubric_material rm ON c.rubric_id = rm.rubric_id
LEFT OUTER JOIN rubric_material rm ON c.rubric_id = rm.rubric_id
ты соединяешь таблицы p и rm, а указываешь столбцы из c и rm
я так думаю.
Цитата: calgon
Люди хелп плиз!
Есть запрос :
SELECT c.* ,COUNT(rm.rubric_id) AS material_amount,owner.user_login AS rubric_owner_login ,owner.user_name AS rubric_owner_name
FROM rubric c, rubric p
LEFT OUTER JOIN rubric_material rm ON c.rubric_id = rm.rubric_id
LEFT OUTER JOIN user owner ON c.rubric_owner_id = owner.user_id
WHERE p.rubric_id =1 AND c.L_index
BETWEEN p.L_index AND p.R_index AND c.R_index
BETWEEN p.L_index AND p.R_index AND c.rubric_system='0'
GROUP BY rubric_id ORDER BY L_index
Выдает ошибку : #1054 - Unknown column 'c.rubric_id' in 'on clause'
БД: MySQL 5.0.45-community-nt
Столбец rubric_id существует и все остальные столбцы тоже. Запрос вроде валидный, но ошибка вылетает. Уже не знаю че делать ((((
Хелп плиз!
Есть запрос :
SELECT c.* ,COUNT(rm.rubric_id) AS material_amount,owner.user_login AS rubric_owner_login ,owner.user_name AS rubric_owner_name
FROM rubric c, rubric p
LEFT OUTER JOIN rubric_material rm ON c.rubric_id = rm.rubric_id
LEFT OUTER JOIN user owner ON c.rubric_owner_id = owner.user_id
WHERE p.rubric_id =1 AND c.L_index
BETWEEN p.L_index AND p.R_index AND c.R_index
BETWEEN p.L_index AND p.R_index AND c.rubric_system='0'
GROUP BY rubric_id ORDER BY L_index
Выдает ошибку : #1054 - Unknown column 'c.rubric_id' in 'on clause'
БД: MySQL 5.0.45-community-nt
Столбец rubric_id существует и все остальные столбцы тоже. Запрос вроде валидный, но ошибка вылетает. Уже не знаю че делать ((((
Хелп плиз!
Начнем с того,что ваш запрос логически неверен. При группировке в выборку должны входить поля,участвующие в группировке либо агрегирующие функции.Сами попробуйте понять, что вернет ваш запрос в текущем виде (если бы даже и смог каким-то образом выполниться). кроме того, по какому полю СУБД должна группировать (GROUP BY rubric_id ORDER BY L_index) - по полям из алиаса c или p, т.к.такие поля есть там и там? Короче, для начала исправьте запрос нормально.