powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Operand should contain 1 column
8 сообщений из 8, страница 1 из 1
Operand should contain 1 column
    #39720077
Валерий666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где ошибка? Структура полностью соответствует
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
INSERT INTO reports_template(group_parent,groupid,torep,KODnom,NAIM,All0,All1,ud0,ud1,raz0,raz1,otk0,otk1,view0,view1) 
SELECT(select kodvopr.group_parent AS group_parent,
kodvopr.groupid AS groupid,
kodvopr.torep AS torep,
kodvopr.KODnom AS KODnom,
kodvopr.NAIM as NAIM,
 sum(case when (datecreate between '2018-01-01' AND '2018-10-09') then 1 else 0 end) AS All0,
 sum(case when (datecreate between '2017-01-01' AND '2017-10-09') then 1 else 0 end) AS All1,
 sum(case when (datecreate between '2018-01-01' AND '2018-10-09') AND (resultview = 'УДОВЛЕТВОРЕНО') then 1 else 0 end) AS ud0,
 sum(case when (datecreate between '2017-01-01' AND '2017-10-09') AND (resultview = 'УДОВЛЕТВОРЕНО') then 1 else 0 end) As ud1,
 sum(case when (datecreate between '2018-01-01' AND '2018-10-09') AND (resultview = 'РАЗЪЯСНЕНО') then 1 else 0 end) AS raz0,
 sum(case when (datecreate between '2017-01-01' AND '2017-10-09') AND (resultview = 'РАЗЪЯСНЕНО') then 1 else 0 end) As raz1,
 sum(case when (datecreate between '2018-01-01' AND '2018-10-09') AND (resultview = 'ОТКАЗАHО') then 1 else 0 end) As otk0,
 sum(case when (datecreate between '2017-01-01' AND '2017-10-09') AND (resultview = 'ОТКАЗАHО') then 1 else 0 end) AS otk1, 
sum(case when (datecreate between '2018-01-01' AND '2018-10-09') AND (control=1) AND (resultview='')  then 1 else 0 end)AS view0,
 sum(case when (datecreate between '2017-01-01' AND '2017-10-09') AND (control=1) AND (resultview='') then 1 else 0 end) AS view1
From kodvopr 
LEFT JOIN register ON kodvopr.KODnom = register.themeid
 group by KODnom ORDER BY kodvopr.KOD11,kodvopr.groupid)
...
Рейтинг: 0 / 0
Operand should contain 1 column
    #39720086
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий666,

вы для чего в select вложили другой select?
...
Рейтинг: 0 / 0
Operand should contain 1 column
    #39720090
Валерий666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MelkijВалерий666,

вы для чего в select вложили другой select?
Вложеный select - запрос.
...
Рейтинг: 0 / 0
Operand should contain 1 column
    #39720102
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий666,

так для чего? Не умеет mysql преобразовывать row в скаляр, да и не нужно это судя по более чем 1 полю в insert.
...
Рейтинг: 0 / 0
Operand should contain 1 column
    #39720105
Валерий666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MelkijВалерий666,

так для чего? Не умеет mysql преобразовывать row в скаляр, да и не нужно это судя по более чем 1 полю в insert.
мм. а как тогда вставить результат выполнения запроса в таблицу?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
select kodvopr.group_parent AS group_parent,
kodvopr.groupid AS groupid,
kodvopr.torep AS torep,
kodvopr.KODnom AS KODnom,
kodvopr.NAIM as NAIM,
 sum(case when (datecreate between '2018-01-01' AND '2018-10-09') then 1 else 0 end) AS All0,
 sum(case when (datecreate between '2017-01-01' AND '2017-10-09') then 1 else 0 end) AS All1,
 sum(case when (datecreate between '2018-01-01' AND '2018-10-09') AND (resultview = 'УДОВЛЕТВОРЕНО') then 1 else 0 end) AS ud0,
 sum(case when (datecreate between '2017-01-01' AND '2017-10-09') AND (resultview = 'УДОВЛЕТВОРЕНО') then 1 else 0 end) As ud1,
 sum(case when (datecreate between '2018-01-01' AND '2018-10-09') AND (resultview = 'РАЗЪЯСНЕНО') then 1 else 0 end) AS raz0,
 sum(case when (datecreate between '2017-01-01' AND '2017-10-09') AND (resultview = 'РАЗЪЯСНЕНО') then 1 else 0 end) As raz1,
 sum(case when (datecreate between '2018-01-01' AND '2018-10-09') AND (resultview = 'ОТКАЗАHО') then 1 else 0 end) As otk0,
 sum(case when (datecreate between '2017-01-01' AND '2017-10-09') AND (resultview = 'ОТКАЗАHО') then 1 else 0 end) AS otk1, 
sum(case when (datecreate between '2018-01-01' AND '2018-10-09') AND (control=1) AND (resultview='')  then 1 else 0 end)AS view0,
 sum(case when (datecreate between '2017-01-01' AND '2017-10-09') AND (control=1) AND (resultview='') then 1 else 0 end) AS view1
From kodvopr 
LEFT JOIN register ON kodvopr.KODnom = register.themeid
 group by KODnom ORDER BY kodvopr.KOD11,kodvopr.groupid
...
Рейтинг: 0 / 0
Operand should contain 1 column
    #39720108
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий666,

добавьте перед запросом insert into. Не нужен для этого вложенный select
...
Рейтинг: 0 / 0
Operand should contain 1 column
    #39720763
Валерий666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MelkijВалерий666,

добавьте перед запросом insert into. Не нужен для этого вложенный select

Понял. просто ориентировался на примеры. Да все получилось.
Подскажите как мне сделать для того результата(код выше) update по KODnom вот этим результатом:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
select kodvopr.group_parent,kodvopr.groupid,kodvopr.torep,kodvopr.KODnom,
 sum(case when (datecreate between '2018-01-01' AND '2018-10-09') then 1 else 0 end) AS All0,
 sum(case when (datecreate between '2017-01-01' AND '2017-10-09') then 1 else 0 end) AS All1,
 sum(case when (datecreate between '2018-01-01' AND '2018-10-09') AND (resultview = 'УДОВЛЕТВОРЕНО') then 1 else 0 end) AS ud0,
 sum(case when (datecreate between '2017-01-01' AND '2017-10-09') AND (resultview = 'УДОВЛЕТВОРЕНО') then 1 else 0 end) As ud1,
 sum(case when (datecreate between '2018-01-01' AND '2018-10-09') AND (resultview = 'РАЗЪЯСНЕНО') then 1 else 0 end) AS raz0,
 sum(case when (datecreate between '2017-01-01' AND '2017-10-09') AND (resultview = 'РАЗЪЯСНЕНО') then 1 else 0 end) As raz1,
 sum(case when (datecreate between '2018-01-01' AND '2018-10-09') AND (resultview = 'ОТКАЗАHО') then 1 else 0 end) As otk0,
 sum(case when (datecreate between '2017-01-01' AND '2017-10-09') AND (resultview = 'ОТКАЗАHО') then 1 else 0 end) AS otk1, 
sum(case when (datecreate between '2018-01-01' AND '2018-10-09') AND (control=1) AND (resultview='')  then 1 else 0 end)AS view0,
 sum(case when (datecreate between '2017-01-01' AND '2017-10-09') AND (control=1) AND (resultview='') then 1 else 0 end) AS view1

 from kodvopr 
LEFT JOIN register ON kodvopr.KODnom = register.themeid
 group by group_parent,groupid ORDER BY kodvopr.KOD11;



т.е. у меня получается табличка:
http://rgho.st/7Ndn8D5RC.view][img] http://rgho.st/7Ndn8D5RC/thumb.png [/img]
Мне надо посчитать суммы (запрос выше), в итоге получаю вот такой результат:

http://rgho.st/644dGy4gP.view][img] http://rgho.st/644dGy4gP/thumb.png [/img]

Мне надо обновить головные записи групп с суммами, по полю KODnom, можно ли это сделать добавлением UPDATE к запросу выше?
...
Рейтинг: 0 / 0
Operand should contain 1 column
    #39720764
Валерий666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прям беда со вставками картинок...

1. http://rgho.st/7Ndn8D5RC

2. http://rgho.st/644dGy4gP
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Operand should contain 1 column
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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