Выдаётся следующая ошибка: [sql]DB Error: Bad SQL Query: SELECT user_t_images, user_name, user_id, SUM(image_hits) AS sum FROM 5images_users, 5images_images WHERE user_level >= '2' ORDER BY user_t_images DESC LIMIT 10 Column 'user_id' in field list is ambiguous[/sql] Сам запрос: PHP: $sql = "SELECT user_t_images, user_name, user_id, SUM(image_hits) AS sum FROM ".USERS_TABLE.", ".IMAGES_TABLE." WHERE user_level >= '".USER."' ORDER BY user_t_images DESC LIMIT 10"; Что неверно, поправьте пжл... Спасибо
MrAndrew походу, обозначь поля как `5images_users`.`user_t_images` и т.д. то есть укажи префикс таблицы
SELECT 5images_users.user_t_images, 5images_users.user_name, 5images_users.user_id, SUM(5images_users.image_hits) AS sum FROM 5images_users, 5images_images WHERE 5images_users.user_level >= '2' ORDER BY 5images_users.user_t_images DESC LIMIT 10 только я не знаю какие поля относятся к какой таблице, сам смотри
Если сделать допустим так: WHERE 5images_user.user_id = $user_id"; $user_id = 1; Тогда работает, но считает только первого, а мне нужен список имен... Хмм... Не пойму как сделать
в начальном варианте у тебя WHERE user_level >= '2' сейчас у тебя уже user_id значится в where. Ты определись както WHERE 5images_user.user_id = $user_id";
Сорри я неправильно сказал. Конечно. Если сделать так: [sql] $user_id = 1; $sql = "SELECT 5images_users.user_t_images, 5images_users.user_name, 5images_users.user_id, SUM(5images_images.image_hits) AS sum FROM ".USERS_TABLE.", ".IMAGES_TABLE." WHERE 5images_user.user_id = $user_id"; ORDER BY 5images_users.user_t_images DESC LIMIT 10";[/sql] Тогда считает сумму пользователя с ID = 1. А как посчитать это значения и выводить список пользователей с наибольшим image_hits?
[sql]$sql = "SELECT 5images_users.user_t_images, 5images_users.user_name, 5images_users.user_id, SUM(5images_images.image_hits) AS sum FROM ".USERS_TABLE.", ".IMAGES_TABLE." user_id = $user_id ORDER BY image_hits DESC LIMIT 10";[/sql] PHP: DB Error: Bad SQL Query: SELECT 5images_users.user_t_images, 5images_users.user_name, 5images_users.user_id, SUM(5images_images.image_hits) AS sum FROM 5images_users, 5images_images; user_id = 1 ORDER BY image_hits DESC LIMIT 10 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'user_id = 1 ORDER BY image_hits DESC LIMIT 10' at line 2