Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 24 Май, 2012, 06:27:37

Страниц: [1]
Печать
Автор Тема: update (nested select, sum)  (Прочитано 516 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Абырвалг    ↓ 
27 Апрель, 2010, 05:07:31
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6094
Сила слова: 1.31

feedbacks:
transaction_id, role # 1 или 2
 
transactions
transaction_id, feedbacks # сумма колонки role для этой transaction_id из верхней таблицы
 
SQL
UPDATE `tt_transactions_events` AS t SET feedbacks = ( SELECT s
  FROM (
    SELECT f.transaction_id, SUM( `role` ) AS s
    FROM `tt_feedbacks` AS f
    GROUP BY f.transaction_id )
  AS sub_query
  WHERE sub_query.transaction_id = t.transaction_id
)
Спустя 29 секунд добавил
а, да, не работает нихуя. Затронуто 0 рядов
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
phpdude    ↓ 
27 Апрель, 2010, 05:10:43 , спустя 3 минуты 12 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: 20784
Сила слова: 1.66

Абырвалг, ебаный рот, тебе через inner join тяжело это написать? моск отстрелил мне своим постом. вышлешь моск по почте или мат ожидание за моск суко
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Абырвалг    ↓ 
27 Апрель, 2010, 05:11:39 , спустя 56 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6094
Сила слова: 1.31

а как апдейтить с INNER JOIN?
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
Абырвалг    ↓ 
27 Апрель, 2010, 05:18:56 , спустя 7 минут 17 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6094
Сила слова: 1.31

SQL
UPDATE `m2e_transactions_events` AS t
  INNER JOIN (SELECT f.transaction_id, SUM(`role`) AS s FROM `m2e_feedbacks` AS f GROUP BY f.transaction_id) sq ON sq.transaction_id=t.transaction_id
SET feedbacks=s
 
тоже по нулям
Спустя 1 минуту 18 секунд добавил
SQL
UPDATE `m2e_transactions_events`
  INNER JOIN (SELECT f.transaction_id, SUM(`role`) AS s FROM `m2e_feedbacks` AS f GROUP BY f.transaction_id) AS sq USING(transaction_id)
SET feedbacks=s
 

опять зеро
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
adw0rd    ↓ 
27 Апрель, 2010, 05:19:53 , спустя 57 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

о я ебу...
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
Абырвалг    ↓ 
27 Апрель, 2010, 05:22:25 , спустя 2 минуты 32 секунды
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6094
Сила слова: 1.31

хорошо, нахуй мои запросы, как бы вы написали этот апдейт ( в 1 посте написано что нужно сделать)?
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
adw0rd    ↓ 
27 Апрель, 2010, 05:24:15 , спустя 1 минуту 50 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

Что выдает
SQL

SELECT f.transaction_id, SUM(`role`) AS s FROM `m2e_feedbacks` AS f GROUP BY f.transaction_id
 
?
 
Что выдает:
SQL

SELECT t.transaction_id
FROM `m2e_transactions_events` AS t
INNER JOIN (SELECT f.transaction_id, SUM(`role`) AS s FROM `m2e_feedbacks` AS f GROUP BY f.transaction_id) AS sq  ON sq.transaction_id = t.transaction_id
 
?
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
Абырвалг    ↓ 
27 Апрель, 2010, 05:26:09 , спустя 1 минуту 54 секунды
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6094
Сила слова: 1.31

1) корректная таблица
transaction_id|сумма
 
2) 0 строк
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
Абырвалг    ↓ 
27 Апрель, 2010, 05:31:55 , спустя 5 минут 46 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6094
Сила слова: 1.31

ага, по ходу мои запросы корректны, просто transactions_id из одной таблицы не совпадают с transaction_id из другой
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
adw0rd    ↓ 
27 Апрель, 2010, 05:36:38 , спустя 4 минуты 43 секунды
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

ага
Спустя 34 секунды добавил
Вообще иды транз должны быть уникальны, как мне кажется, а у тебя это не так... Ну это уже к архитектуре вопрос
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
Абырвалг    ↓ 
27 Апрель, 2010, 07:15:21 , спустя 1 час 38 минут 43 секунды
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6094
Сила слова: 1.31

я вам больше скажу: самый самый первый запрос, который я написал оказался рабочим
 
SQL
UPDATE `$tableTransactions` AS t SET feedbacks=(SELECT SUM(`role`) FROM `$tableFeedbacks` AS f WHERE f.transaction_id=t.transaction_id GROUP BY f.transaction_id)

но из-за того, что транзакции не совпадали ничего не обновилось. Это меня смутило и я начал его переписывать.
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
adw0rd    ↓ 
27 Апрель, 2010, 07:21:26 , спустя 6 минут 5 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

Он рабочий, но уродливый
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
Страниц: [1]
Печать
 

Перейти в:  

Этот топик скрыли: Sinkler