
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

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

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

VV
07.06.2018
18:58:04

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

Ilia
08.06.2018
06:22:18

Google

Botvyak
08.06.2018
06:23:16

Ilia
08.06.2018
06:23:43

Botvyak
08.06.2018
06:24:45
Ты второй кто это говорит))))
Закономерность?))

Ilia
08.06.2018
06:25:28

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:26:36
Долгая транзакция это плохо

Dmitry
10.06.2018
09:27:18
Реплика на запись? А такое можно в mysql?
Импорт это не только создание записей, но и обновление существующих. Например 100к записей

Dmitry
10.06.2018
09:28:48

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

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

Dmitry
10.06.2018
09:31:15

Google

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

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

Dmitry
10.06.2018
09:33:56

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

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

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