PDA

Показать полную графическую версию : Изменение данных записей по параметрам 2-ух ячеек


jabutyf
30-03-2011, 17:07
Здравствуйте, хотел бы узнать. Есть интернет магазин, в нем 8000 наименований, естественно каждая позиция прикреплена к группе. Интересует возможно ли изменить данные всех записей в ячейке "прайс" по всей заданной категории на проценты? например +10%

например cat_id "250" price "+10%" только как это составить синтаксически верно, если возможно)

Sham
30-03-2011, 17:21
UPDATE
`table`
SET
`price` = 0.1 * `price` + `price`
WHERE
`cat_id` = 1

для проверки сначала можно select вывести

SELECT
`price`,
(0.1 * `price` + `price`) AS `newprice`
FROM
`table`
WHERE
`cat_id` = 1

jabutyf
30-03-2011, 17:37
хорошо, спасибо, а если нужно добавить одновременно в трех ячейках?

после проверки
MySQL вернула пустой результат (т.е. ноль строк). (запрос занял 0.0004 сек.)
Как я понял результат положительный

UPDATE
`table`
SET
`price` = 0.1 * `price` + `price`
`price_spec` = 0.1 * `price_spec` + `price_spec`
`price_top` = 0.1 * `price_top` + `price_top`
WHERE
`cat_id` = 1

Это будет верно?

Sham
30-03-2011, 17:49
WHERE
`cat_id` = 1 »
номер категории и колонка свои (это от балды)
SET
`price` = 0.1 * `price` + `price`
`price_spec` = 0.1 * `price_spec` + `price_spec`
`price_top` = 0.1 * `price_top` + `price_top` »
выражения с колонками нужно разделять запятой.

предварительно проверьте селектом (чтобы ошибок не было). Должен возвращать строки.

jabutyf
30-03-2011, 17:59
Ой, спасибо огромное. Остался только один вопрос открытым. Помимо Cat_id нужно выбирать данные из тругой таблицы

Sham
30-03-2011, 18:14
тут (http://www.mysql.ru/docs/mysql-man-4.0-ru/reference.html#update) есть примеры связки в update




© OSzone.net 2001-2012