Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / update по вложенному запросу / 7 сообщений из 7, страница 1 из 1
23.10.2019, 21:19
    #39880684
boltachev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update по вложенному запросу
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
CREATE TABLE head (
  cod INT,
  summ INT
)
ENGINE = INNODB;	

CREATE TABLE body (
  codHead INT,
  price INT
)
ENGINE = INNODB;	

INSERT INTO head (cod,summ) VALUES (1,0);

INSERT INTO body (codHead,price) VALUES (1,1);
INSERT INTO body (codHead,price) VALUES (2,2);


UPDATE head SET summ = (SELECT SUM(price) FROM body WHERE codHead=1);



Добрый вечер!
Можно ли в последнем UPDATE использовать JOIN вместо подзапроса?
...
Рейтинг: 0 / 0
23.10.2019, 21:28
    #39880690
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update по вложенному запросу
А что мешает?

Код: sql
1.
2.
3.
4.
UPDATE head, ( SELECT SUM(price) sumprice 
               FROM body
               WHERE codHead=1 ) sumbody
SET summ = sumprice;
...
Рейтинг: 0 / 0
23.10.2019, 21:29
    #39880692
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update по вложенному запросу
Но вообще от подзапроса избавиться нельзя. UPDATE (любой) не понимает группировки.
...
Рейтинг: 0 / 0
23.10.2019, 21:30
    #39880693
boltachev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update по вложенному запросу
а так?
Код: sql
1.
UPDATE head INNER JOIN (SELECT codHead,SUM(price) as summ FROM body GROUP BY codHead) as A ON head.cod=A.codHead SET head.summ=A.summ;
...
Рейтинг: 0 / 0
23.10.2019, 21:34
    #39880694
boltachev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update по вложенному запросу
так лучше, можно в одном подзапросе вывести несколько значений: price1,price2...

Спасибо :)
...
Рейтинг: 0 / 0
23.10.2019, 21:37
    #39880696
boltachev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update по вложенному запросу
Ваш запрос тоже хорошо работает, не знал, что так можно
...
Рейтинг: 0 / 0
23.10.2019, 21:54
    #39880701
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update по вложенному запросу
boltachevа так?А так получается совсем другая логика запроса.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / update по вложенному запросу / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]