[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Непростая задача, Вывод и занесение данных в SQL
walters
Всем привет, направьте пожалуйста в правильное направление с решением данной задачки.

Есть таблица mySQl:

| id | num | order | title | price |  rate  |
----------------------------------------------
| 11| 1 | 3 | Dog | 20 | 0 |
----------------------------------------------
| 12| 2 | 4 | Dog | 15 | 0 |
----------------------------------------------
| 13| 3 | 5 | Dog | 17 | 0 |
----------------------------------------------
| 14| 4 | 5 | Dog | 19 | 0 |
----------------------------------------------



Теперь самое интересное, Мне нужно вывести все строки которые совпадают выборке
например:
"SELECT id FROM mytable WHERE `order` = '5' AND `price` > '15'  ORDER BY id"


в итоге мне нужно получить список id записей которые совпадают требованиям те 13 и 14

Теперь вопрос.
на данный момент мне выпало 2 подходящих варианта но их может быть и 5 и 6 и 10.

теперь мне надо обновить все записи которые подошли под выборку, например:

"UPDATE mytable SET `rate` = '5'  WHERE `id` = '13'" 

"UPDATE mytable SET `rate` = '15'  WHERE `id` = '14'" 


и как вы заметили заносимое в поле rate тоже разные те я значения из массива вывожу.

Извините если что то не понятно.
sergeiss
Где-то так (ORDER BY в подзапросе не нужен):
UPDATE mytable SET `rate` = '5'  WHERE `id` IN (SELECT id FROM mytable WHERE `order` = '5' AND `price` > '15')


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
walters
sergeiss
и такой запрос обновит мне все записи которые подошли под выборку ?? а как быть с динамическим значением поле rate ?
Valick
Цитата (walters @ 7.03.2016 - 13:00)
и такой запрос обновит мне все записи которые подошли под выборку ??

обновит, но везде будет `rate` = '5'

_____________
Стимулятор ~yoomoney - 41001303250491
walters
хорошо а как мне контролировать значение rate ? я ведь должен туда определенные значения вписывать
sergeiss
Цитата (walters @ 7.03.2016 - 14:42)
я ведь должен туда определенные значения вписывать

Ну так и вписывай, в чем проблема-то? smile.gif В ПХП когда запрос формируешь, можешь любые параметры указать.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
walters
дело в том что для каждой строки, для каждого ид отдельно есть своё значение rate, а тут одним запросом сразу все значения обновляются
AllesKlar
Цитата (walters @ 7.03.2016 - 20:11)
дело в том что для каждой строки, для каждого ид отдельно есть своё значение rate, а тут одним запросом сразу все значения обновляются

CASE case_value
WHEN when_value THEN statement_list
[WHEN when_value THEN statement_list] ...
[
ELSE statement_list]
END CASE


_____________
[продано копирайтерам]
depp
Цитата (sergeiss @ 7.03.2016 - 13:58)
UPDATE mytable SET `rate` = '5'  WHERE `id` IN (SELECT id FROM mytable WHERE `order` = '5' AND `price` > '15')

UPDATE mytable SET `rate` = '5'  WHERE `order` = 5 AND `price` > 15
?

автор, почитай про odku.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.