@dba_ru

Страница 532 из 718
Botvyak
07.06.2018
17:46:37
по моему только там он есть
Наверное ты не понял или я криво описал

Таблица вида

Имя|телефон

lost
07.06.2018
17:47:09
ну pivot транспонирование делает, насколько я помню

Google
Botvyak
07.06.2018
17:47:18
Надо сделать имя|телефон|телефон|и тд

lost
07.06.2018
17:47:45
так все-таки телефон лежит в отдельной колонке а имя в отдельной?

Botvyak
07.06.2018
17:48:10
Да. Я вроде описал все как мог(

Там блин нельзя таблицу построить нормально. Поэтому кривота

lost
07.06.2018
17:49:55
ну как бы по описанию не скажешь, тогда задача упрощается: select name, concat(name, '-', group_concat(telnum SEPARATOR '-'))) from foo group by 1

Botvyak
07.06.2018
17:50:33
А черточки нафига?

lost
07.06.2018
17:51:08
ну тебе же нужно по условию, если не нужны - они убираются)

без внятного тз - результат хз)

Botvyak
07.06.2018
17:51:41
Давай еще раз

Есть таблица вида Имя|телефон (2 столбца)

Надо сделать имя|телефон|телефон|и тд

lost
07.06.2018
17:53:08
каждый телефон в отдельной колонке?

Botvyak
07.06.2018
17:54:13
Да. 1 и более телефонных номеров должны быть разнесены по отдельным столбцам

Google
lost
07.06.2018
17:54:42
а я думал, что я наркоман...

судя по тому, что я нашел на первой ссылке с stackoverflow - можно через pivot и динамический sql

Botvyak
07.06.2018
17:55:53
А я иногда думаю что я казах)))

Еще один отписался что задача не решаема там

Вот мне кажется что через pivot можно. Где то видел упоминание, что у кого то получалось это сделать через временную таблицу

lost
07.06.2018
17:58:51
я не знаю зачем тебе это нужно, но такие веще лучше делать на бекенде, если только это не одноразовая хрень на "просто посмотреть"

Botvyak
07.06.2018
17:59:24
Если честно то это тупое задание на собеседовании)

lost
07.06.2018
17:59:38
беги оттуда

Botvyak
07.06.2018
17:59:41
А я эскуэль оч давно не видел)

Alexey
07.06.2018
18:54:30
http://www.sql.ru/forum/1295434/kak-vyvesti-polya-iz-rezultata-zaprosa-v-stroku
Просто решается: select max(s1)||max(s2)|| .... max(sN) r from ( Select Case when rownum=1 then phone else null end s1, Case when rownum=2 then phone else null end s2, ..... from tab)

VV
07.06.2018
18:55:47
Если количество столбцов переменное- только пивот

Ну или в одной колонке через разделитель

Alexey
07.06.2018
18:57:39
На PL/SQL вобще просто :) но это уже другая история...

Botvyak
07.06.2018
19:02:15
Да. С кол-вом столбцов все понятно

Как если ты не знаешь кол-во столбцов... вот вопрос)

Alexey
07.06.2018
19:04:45
begin for c1 in (select phone from tab) loop htp.p(c1.phone); end loop; end;

aster
08.06.2018
06:13:42
как часто обновляется статистика? ну вот такое бывало у нас и боролись только freeproccache)))
Отвечу так: стата обновляется как обычно. То есть не было никакие невыполненных мейнтененсов, равно как и наборот - небыло лишних мейнтененсов. Ладно. На след неделе подергаю ещё

Ilia
08.06.2018
06:22:18
http://www.sql.ru/forum/1295434/kak-vyvesti-polya-iz-rezultata-zaprosa-v-stroku
Шизонутая база, спроектированная с грубейшими ошибками, шизонутая задача, тоже с ошибками, и почему же ты хочешь, чтобы она решалась на SQL?

Google
Ilia
08.06.2018
06:23:43
"На стандартном SQL задача нерешаема. " ну ну...
Ну group concat далеко не все СУБД поддерживают...

Botvyak
08.06.2018
06:24:45
Ты второй кто это говорит))))

Закономерность?))

Ilia
08.06.2018
06:25:28
Ну я хотел спросить у тебя) можно ли чтоб бомбануло у них отписаться))
Чтобы бомбануло, напиши, что они мудаки и не знают про 1НФ ...

Да. Я вроде описал все как мог(
Ну если в отдельной колонке то другое дело. Для этого надо не картинки рисовать, а DDL писать

Надо сделать имя|телефон|телефон|и тд
Но вот это все равно идиотское задание

Botvyak
08.06.2018
06:32:27
Я видел кто то писал что делал через временную таблицу

Но как .. я хз

Al
08.06.2018
06:36:00
Botvyak
08.06.2018
06:38:39
Ладно, парни проехали)

Извините за дебильные вопросы)))

alex
08.06.2018
07:45:51
посоны, вопрос есть

немного офф

есть приложение кластерное, база в mssql

переодически в приложении зависает ожна из служб, котоая парсит почту, смотрю в базу. вижу что есть зависшее задание, помогает только рестарт прилоежния.

Admin
ERROR: S client not available

Google
alex
08.06.2018
07:47:48
есть подозрение что блокировка в бд

или я ошибаюсь, что блокировка по другому вглядит ?

Botvyak
08.06.2018
07:57:28
А в логах есть что то?

alex
08.06.2018
07:59:47
в том то и вся фищшка что в логах нет ничего. в БД не смотрел, в приложении вот такая картина



пока даже хз куда копать

Dmitry
10.06.2018
08:12:00
Добрый день. Скажите, как организовать работу транзакции для операции которая долго происходит? Например импорт данных. Сейчас я получаю таймаут от базы так как транзакция более 30 секунд, а операция происходит дольше

W360
10.06.2018
08:23:44
Повысить лимит?

Dmitry
10.06.2018
09:14:25
Не, не подойдет. Он может быть несколько минут и не хочу такую дыру оставлять для обычных секундных транзакций

Денис
10.06.2018
09:15:39
разбить транзакцию на более маленькие транзакции? :)

Dmitry
10.06.2018
09:27:18
Реплика на запись? А такое можно в mysql?

Долгая транзакция это плохо
А в таком случае как сделать импорт данных от клиента и не сломать данные если что-то пошло не так?

Импорт это не только создание записей, но и обновление существующих. Например 100к записей

Денис
10.06.2018
09:30:05
каждую строку можно обновлять/добавлять в отдельной транзакции?

Dmitry
10.06.2018
09:30:33
Да, нужно пытаться атомизировать

Dmitry
10.06.2018
09:31:15
каждую строку можно обновлять/добавлять в отдельной транзакции?
Ну целостность все равно нарушится. 1000 записей обновлю, а остальные сломаются. Хотя если не сломается структура но не обновятся все записи тоже хорошо.

Google
Dmitry
10.06.2018
09:31:20
Спасибо, попробую так

Dmitry
10.06.2018
09:32:13
Тут очень сложно сделать хорошо

Денис
10.06.2018
09:34:18
а импорт - это очень частая операция?

Dmitry
10.06.2018
09:34:51
10-20 раз в день кто-то из клиентов проводит.

Денис
10.06.2018
09:36:00
е его можно не применять сразу?

например, применять ночью

Страница 532 из 718