Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Непростая задача, Вывод и занесение данных в SQL
walters  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 184
Пользователь №: 24757
На форуме: 6 лет, 1 месяц, 2 дня
Карма: 1




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

Есть таблица 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 тоже разные те я значения из массива вывожу.

Извините если что то не понятно.
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14980
Пользователь №: 4190
На форуме: 8 лет, 10 месяцев, 4 дня
Карма: 444




Где-то так (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
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
walters  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 184
Пользователь №: 24757
На форуме: 6 лет, 1 месяц, 2 дня
Карма: 1




sergeiss
и такой запрос обновит мне все записи которые подошли под выборку ?? а как быть с динамическим значением поле rate ?
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5497
Пользователь №: 35718
На форуме: 4 года, 21 день
Карма: 167




Цитата (walters @ 7.03.2016 - 13:00)
и такой запрос обновит мне все записи которые подошли под выборку ??

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


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
walters  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 184
Пользователь №: 24757
На форуме: 6 лет, 1 месяц, 2 дня
Карма: 1




хорошо а как мне контролировать значение rate ? я ведь должен туда определенные значения вписывать
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14980
Пользователь №: 4190
На форуме: 8 лет, 10 месяцев, 4 дня
Карма: 444




Цитата (walters @ 7.03.2016 - 14:42)
я ведь должен туда определенные значения вписывать

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


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

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

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

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
walters  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 184
Пользователь №: 24757
На форуме: 6 лет, 1 месяц, 2 дня
Карма: 1




дело в том что для каждой строки, для каждого ид отдельно есть своё значение rate, а тут одним запросом сразу все значения обновляются
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3378
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 14 дней
Карма: 170




Цитата (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


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
depp  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 299
Пользователь №: 40589
На форуме: 2 года, 7 дней
Карма: 20




Цитата (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.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса