
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
۩
Дата
|
![]() ![]() Старик ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 116 Пользователь №: 30262 На форуме: Карма: ![]() |
Всем доброго дня, необходима помощь в построении правильного MySQL запроса.
Имеются 2 таблицы. 1 Таблица: ( `products` ): Таблица с товарами. Поля: `id` ( ид товара ) `price` ( стоимость товара ) 2 Таблица: (`cart`): Корзина. Поля: `product` ( ид товара ) `count` ( количество ) ############################# В товарах ( `products` ) следующие данные ============================= | id | price | ======== | 1 | 100 | ======== | 2 | 500 | ======== ############################# В корзине (`cart`) имеются следующие товары: ============= | product | count | ============ | 1 | 10 | ========= | 2 | 5 | ====== Необходимо вычислить общую сумму товаров находящихся в корзине. Ответ должен быть ( 3500 ). Буду очень признателен за вашу помощь |
![]() |
|
![]() ![]() ④ ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 9509 Пользователь №: 18161 На форуме: Карма: 552 ![]() |
select sum(cart.`count` * products.price) |
![]() |
۩
Дата
|
![]() ![]() Старик ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 116 Пользователь №: 30262 На форуме: Карма: ![]() |
А как дополнить данный запрос, необходимо было добавить такое условие.
cart.key_cart = $_COOKIE[key] Заранее благодарю $all_money = mysql_result(mysql_query("select sum(`cart`.`count` * `products`.`newprice`) |
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 2194 Пользователь №: 28976 На форуме: Карма: 152 ![]() |
А вы не ищите легких путей.
$sql = " |
![]() |
۩
Дата
|
||
![]() ![]() Старик ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 116 Пользователь №: 30262 На форуме: Карма: ![]() |
Откуда AS summa, и что это значит, подскажите пожалуйста |
||
![]() |
|||
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 2194 Пользователь №: 28976 На форуме: Карма: 152 ![]() |
Сокращение/переименование
echo $all_money['sum(`cart`.`count` * `products`.`newprice`)']; // Без AS |
||
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 6460 Пользователь №: 35718 На форуме: Карма: 208 ![]() |
более того, после присвоения алиаса уже нельзя обращаться к полям или таблицам по оригинальному имени
-------------------- |
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 527 Пользователь №: 38359 На форуме: Карма: 11 ![]() |
Можно
SELECT `article` as a FROM `article` as art WHERE `article` LIKE "%BELI%" Showing rows 0 - 2 ( 3 total, Query took 0.0089 sec) Наиборот, в where не удастся юзать алиасы полей SELECT `article` as a FROM `article` as art WHERE a LIKE "%BELI%" 1054 - Unknown column 'a' in 'where clause' И только having спасает SELECT `article` as a FROM `article` as art having a LIKE "%BELI%" Showing rows 0 - 2 ( 3 total, Query took 0.0020 sec) |
![]() |
|||
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 527 Пользователь №: 38359 На форуме: Карма: 11 ![]() |
И вы не ищите. На inner join можно повесить дополнительные условия inner join `products` on `cart`.`order` = `products`.`id` AND cart.key_cart = (int)$_COOKIE[key] Из рабочего $q='select sum(`art`.`price_retail`*`o`.`amount`) as `sum`, |
||
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 6460 Пользователь №: 35718 На форуме: Карма: 208 ![]() |
я немного ошибся, это касается только имен таблиц
SELECT `article` as a FROM `article` as art WHERE article.`article` LIKE "%BELI%" SELECT `article` as a FROM `article` as art WHERE art.`article` LIKE "%BELI%" -------------------- |
![]() |
۩
Дата
|
![]() ![]() Старик ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 116 Пользователь №: 30262 На форуме: Карма: ![]() |
В чем ошибка??
Этот запрос выводит необходимое значение $all_money = mysql_result(mysql_query("select sum(cart.`count` * products.newprice) А этот отказывается работать, где тут ошибка? $all_money = mysql_result(mysql_query("select sum(cart.`count` * products.newprice) |
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 2194 Пользователь №: 28976 На форуме: Карма: 152 ![]() |
cart.key_cart = ".$_COOKIE['key']." "
|
![]() |
۩
Дата
|
||
![]() ![]() Старик ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 116 Пользователь №: 30262 На форуме: Карма: ![]() |
Не работает, может в самом запросе ошибка? |
||
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 6460 Пользователь №: 35718 На форуме: Карма: 208 ![]() |
darkcuba
1) формируйте запрос в отдельной переменной. Потом легко проверить что вы скармливаете серверу MySQL просто выводом этой переменной на экран.
2) используйте конструкцию or die() $all_money = mysql_result($query) or die(mysql_error()); -------------------- |
![]() |
۩
Дата
|
![]() ![]() Старик ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 116 Пользователь №: 30262 На форуме: Карма: ![]() |
Вот что она выводит:
переменную $query она выводит как текст: select sum(cart.`count` * products.newprice) from cart inner join products on cart.order = products.id AND cart.key_cart = А далее следует такая ошибка: Warning: mysql_result() expects at least 2 parameters, 1 given in cart.php on line 137 137 строка это: $all_money = mysql_result($query) or die(mysql_error()); |
![]() |
![]() ![]() ![]() |