|
|
|
sql- запрос: вернуть все строки как одну | ☑ | ||
|---|---|---|---|---|
|
0
грязный
08.02.10
✎
08:26
|
(select id from table) - возвращает пять строк:
1 2 3 4 5 как вместо пяти получить одну строку: 1,2,3,4,5 ? дело в том что этот запрос используется как подзапрос. На каждую строку основного запроса он возвращает 0...5 строк |
|||
|
1
Егор Сергеевич
08.02.10
✎
08:34
|
И как в дальнейшем будет использоваться данное поле?
|
|||
|
2
Ненавижу 1С
гуру
08.02.10
✎
08:34
|
(0) а в чем смысл общей задачи?
|
|||
|
3
VitGun
08.02.10
✎
08:37
|
select something from anytable where anytable.fid in (select id from table)
может так? |
|||
|
4
orefkov
08.02.10
✎
08:52
|
В sqlite есть group_concat для этого, а как у больших - не знаю.
|
|||
|
5
Skom
08.02.10
✎
08:57
|
в (3) ведь уже все верно ответили
|
|||
|
6
orefkov
08.02.10
✎
09:06
|
(5)
Совершенно не вижу в (3) ответа на (0) |
|||
|
7
Skom
08.02.10
✎
09:20
|
(6)
коли эта строка должна быть результатом выполнения подзапроса, то она будет фигурировать в условиях... и видимо он хочет написать что ЗначениеПоУсловию В (<результатподзапроса>) select something from anytable where anytable.fid in (select id from table) так ведь тут то же самое тока вместо anytable.fid in (1,2,3,4,5) будет вот это anytable.fid in (select id from table) |
|||
|
8
orefkov
08.02.10
✎
09:24
|
(7) Эт ты телепатируешь. Возможно верно угадал.
А вопрос в (0) - как все строки сложить в одну. Вот например, запрос, возращающий в 1С 7.7 строку с расшифровкой остатков по товару по складам: запрОстатки.Подставлять("ДатаТА", НачМесяца(ПолучитьДатуТА())); запрОстатки.Подготовить(" |select | group_concat(rtrim(Склады.descr) || ': ' || Остатки.Кол, '; ') [Остаток] |from |(select | Склад, | sum(Остаток) Кол |from РегистрИтоги_Товары Итоги |where period = :ДатаТА and Товар = @goods |group by Склад) Остатки |left join Справочник_МестаХранения Склады on Остатки.Склад = Склады.id |"); Сразу выдает одну строку: "Склад 5: 10; Склад 8: 15; Витрина: 2; " |
|||
|
9
Skom
08.02.10
✎
09:27
|
(8) ну так автор бы еще уточнил что ему надо...
а то прям как наши бухгалтера...просят отчет за период по остаткам а получается что им надо было обороты еще и в разрезе каждого дня ну это я образно |
|||
|
10
orefkov
08.02.10
✎
09:33
|
(9)
Эт фигня. Вот у нас пока трабла дойдет от низов до начальства - такой испорченный телефон получается... У тетки в экселе названия товаров в ячейку не влазили, так до нас дошло, что "на новых весах не все товары печатаются на этикетке". Пока обратно по цепочке до этой тетки не дошли, так и не разобрались. |
|||
|
11
Skom
08.02.10
✎
09:40
|
да уж...
|
|||
|
12
Жан Пердежон
08.02.10
✎
11:33
|
в стандарте - никак, перебирай результат запроса
|
|||
|
13
ATI
08.02.10
✎
11:51
|
||||
|
14
грязный
08.02.10
✎
15:51
|
Есть таблица "задача" и таблица "исполнитель". У одной задачи переменное число исполнителей. Нужен запрос который на выходе выдаст таблицу в две колонки: 1) Название задачи 2) Список исполнителей
Всё это в postgres |
|||
|
15
also
08.02.10
✎
15:55
|
(14) да с джойнь табличке и все )
|
|||
|
16
Rabbit
08.02.10
✎
16:16
|
В постгресе не силён. Если нет готовой функции - написать свой агрегатор при помощи CREATE AGGREGATE. (http://www.postgresql.org/docs/8.0/interactive/sql-createaggregate.html)
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |