Mysql Составить запрос по 2м таблицам

AllReady

Новичок
Доброго вечера. Помогите пожалуйста составить запрос.
У нас есть 3 таблицы: tovars, basket и users.
Структура таблицы basket: id, id_user, id_tovar, count.
Структура таблицы tovars: id, title, price.
Структура таблицы users: id, fio.
На выходе мне нужно получить данные с таблицы users + общая сумма покупок. У меня возникла сложность с получением общей суммы. Не понимаю, как перемножить все значения с корзины и товаров и суммировать их в запросе. Или подскажите куда копать.. Спасибо
 

AllReady

Новичок
PS я составил такой запрос:
PHP:
SELECT users. * , (

SELECT SUM( tovars.price * basket.count )
FROM basket
INNER JOIN tovars ON tovars.id = basket.id_tovar
WHERE basket.id_user = users.id
) AS sum
FROM users
Но меня мучают сомнения, что запрос сложный. Я говорю это, т.к. я не сильно знаю SQL и возможно есть специальные методы для этого. А он выглядит как то банально
 
Последнее редактирование:

AllReady

Новичок
И еще. Как можно использовать CASE в этом запросе, используя алиас sum ? Когда в case подставляю sum, выходит ошибка: #1054 - Unknown column 'sum' in 'field list'.
Запрос имеет вид:
PHP:
SELECT users. * , (
SELECT SUM( tovars.price * basket.count )
FROM basket
INNER JOIN tovars ON tovars.id = basket.id_tovar
WHERE basket.id_user = users.id
) AS sum,
CASE sum
    WHEN sum >= 200 THEN '10'
    WHEN sum < 200 THEN '0'
END AS discount
FROM users
Чтобы было понятнее, исходя из суммы мне нужно вывести скидку этого пользователя.
 
Последнее редактирование:

AnrDaemon

Продвинутый новичок
Ваш запрос не сложный, ваш запрос нерабочий.
Он делает не то, что вам нужно.
 

AnrDaemon

Продвинутый новичок
Ну вот так. Представьте на минутку, что у вас 100'000 товара, 10'000 пользователей, а что-то заказывали только 1'000.
 
Сверху