
Oliver
09.11.2017
14:39:23
?

Yaroslav
09.11.2017
14:43:26
конретизируй вопрос
в чем суть вопроса?

Oliver
09.11.2017
14:44:49
Есть статьи с таблицами. Как лучше хранить таблици ?

Google

Аггей
09.11.2017
14:50:08

Oliver
09.11.2017
14:51:03


Аггей
09.11.2017
14:52:57
Ну да.
Выделите сущности и заведите под каждую отдельные таблицы... Проанализируйте связи между сущностями и в зависимости от типа связи - 1 ко многим или многие ко многим добавьте поля -связки или создайте таблицы связки. Читать в гугле - нормализация БД
Коллеги, может сталкивался кто с таким (в mysql не особо разбираюсь)
Запрос
select ticketauditlogid,ticketid,start_date
,(select max(date) from WorkDays where ci.start_date>=date) p
from CountIntervals ci
возвращает записи с заполненным полем "p"
Запрос
select ticketauditlogid,ticketid,start_date
,(select min(date) from WorkDays where ci.start_date<date) n
from CountIntervals ci
возвращает записи с заполненным полем "n"
Запрос
select ticketauditlogid,ticketid,start_date
,(select max(date) from WorkDays where ci.start_date>=date) p
,(select min(date) from WorkDays where ci.start_date<date) n
from CountIntervals ci
возвращает записи с заполненным полем "p" и не заполненным полем "n"
Запрос
select ticketauditlogid,ticketid,start_date
,(select min(date) from WorkDays where ci.start_date<date) n
,(select max(date) from WorkDays where ci.start_date>=date) p
from CountIntervals ci
возвращает записи с заполненным полем "n" и не заполненным полем "p"
Ощущение, что имеет место быть какая-то оптимизация. MariaDB 10.2
WorkDays и CountIntervals - CTE


Oliver
09.11.2017
14:57:18
Спасибо. "заведите под каждую отдельные таблицы.." так сделать не получиться, таблиц много, статьи добовляются.

Сергей
09.11.2017
14:58:19
мда... вот это поворот)))

Oliver
09.11.2017
15:00:15


Аггей
09.11.2017
15:04:46
Коллеги, может сталкивался кто с таким (в mysql не особо разбираюсь)
Запрос
select ticketauditlogid,ticketid,start_date
,(select max(date) from WorkDays where ci.start_date>=date) p
from CountIntervals ci
возвращает записи с заполненным полем "p"
Запрос
select ticketauditlogid,ticketid,start_date
,(select min(date) from WorkDays where ci.start_date<date) n
from CountIntervals ci
возвращает записи с заполненным полем "n"
Запрос
select ticketauditlogid,ticketid,start_date
,(select max(date) from WorkDays where ci.start_date>=date) p
,(select min(date) from WorkDays where ci.start_date<date) n
from CountIntervals ci
возвращает записи с заполненным полем "p" и не заполненным полем "n"
Запрос
select ticketauditlogid,ticketid,start_date
,(select min(date) from WorkDays where ci.start_date<date) n
,(select max(date) from WorkDays where ci.start_date>=date) p
from CountIntervals ci
возвращает записи с заполненным полем "n" и не заполненным полем "p"
Ощущение, что имеет место быть какая-то оптимизация. MariaDB 10.2
WorkDays и CountIntervals - CTE
Никто не сталкивался?


Yaroslav
09.11.2017
15:09:14
делаешь таблицу авторов, делаешь таблицу статей, между ними связующую таблицу
и потом +1 сущность = ~+2таблице
все персонально и зависит от задач/целей

Google

Yaroslav
09.11.2017
15:10:30
в чем вопрос?
ты кинул запросы и что они делают
я с select и from сталкивался

lost
09.11.2017
15:15:09
так а оптимизацию ты какую провести хочешь? сделать из 4 селектов 1?

Аггей
09.11.2017
15:15:57
С поведением таким ) Внимательнее ). Там сказано, что каждый из подзапросов возвращает значения по отдельности,если они указаны в одном запросе - значение возвращает только первый, второй возвращает null. При этом подзапросы не зависят друг от друга.

lost
09.11.2017
15:22:19
а explain что говорит?
в исходных cte есть поля с названием date ?

Аггей
09.11.2017
15:25:10
а explain что говорит?
К своему стыду я не могу в нем разобраться. Я привел только часть запроса. Весь запрос будет очень сложен для понимания.

lost
09.11.2017
15:25:36
попробуй в подзапросах с WorkDays присвоить альясы
если не поможет - кидай explain

Аггей
09.11.2017
15:25:52
Ок
А то уже грешным делом подумываю поставить рядом pg и вытянуть туда таблицы через fdw )

Oliver
11.11.2017
09:15:59
Всем привет!
Есть простенький запрос:
UPDATE Info SET id = id + 1 WHERE id >= 27
Как сделать, чтобы заполнение шло снизу таблицы ?

Alexander
11.11.2017
10:10:22
Какое заполнение?

Oliver
11.11.2017
10:11:47
То есть?
Да всё разобрался. Нужно было вставить строку и переписать id)

Google

Timur
12.11.2017
22:18:27
Привет. Есть таблица 1, которую надо джоинить либо с таблицей 2 либо с таблицей 3, в зависимости от значения поля в таблице 1. Как это лучше всего сделать?

Сергей
12.11.2017
22:50:15

Egor
12.11.2017
22:57:17
капитал приплыл))
капитан*

Сергей
12.11.2017
23:05:35
С прибытием

Timur
13.11.2017
08:25:14
Написать условие
Спасибо большое, наконец-то хоть кто-то реально помог словом, а не стал писать хуйни, как это все делают. Обычно это делают долбоебы, но ты реально помог

Ivan
13.11.2017
08:31:23

Jamol
13.11.2017
08:32:37
???

Сергей
13.11.2017
09:14:03

Yaroslav
13.11.2017
11:11:13
подскажите есть ли легкий сбособ разсплитить строку? или писать свою функцию? строка вида: "a,b,c,d"

lost
13.11.2017
11:34:10
а "рассплитовывать" ты ее во что собираешься?

Yaroslav
13.11.2017
11:35:42
на 4 значения по ','
a b c d
количество не известно

Pavel
13.11.2017
11:38:48
Есть отличный "воркэраунд" - ставишь postgres, ставишь к нему mysql foreign data wrapper, ходишь в старый mysql, выбираешь данные и вытворяешь со строками все что душе угодно - разбивка по регекспу, конвертация в массив, rows, json и так далее ?

lost
13.11.2017
11:43:46

Yaroslav
13.11.2017
11:45:38

lost
13.11.2017
11:45:44
заинсертить?

Yaroslav
13.11.2017
11:45:48
insert

Google

lost
13.11.2017
11:45:54
и только?)

Yaroslav
13.11.2017
11:45:56
да
каждое значение = отдельная строка
это возможные значения поля enum, нужно сделать их insert в таблицу, по 1

Danil
13.11.2017
11:47:20
Регулярной можно.

Yaroslav
13.11.2017
11:47:29
подскажи как

Danil
13.11.2017
11:47:43
Но поиск количества символов между разделителями- будет долговато

lost
13.11.2017
11:49:06
это все делается в 1 квери
от тоже
понапридумывают

Yaroslav
13.11.2017
11:49:35
(^_^)

Danil
13.11.2017
11:49:41

lost
13.11.2017
11:49:47
ща

Yaroslav
13.11.2017
11:49:48
как сделать то?)
ок. спс

lost
13.11.2017
11:50:14
SELECT
sbq2.row_num,
sbq2.dt,
sbq2.literal,
SUBSTRING_INDEX(SUBSTRING_INDEX(sbq2.literal, ',', sbq2.row_num), ',', -1) AS result
FROM (SELECT
@aaa:= @aaa + 1 AS row_num,
c.dt,
'test1,test2,test3,test4,test5,test6,test7'AS literal
FROM (SELECT
@aaa:= 0) AS sbq JOIN calendar c ON TRUE
WHERE c.dt > CURDATE() AND c.dt <= CURDATE() + INTERVAL 1 WEEK) AS sbq2;
вот тебе тьюториал
только вместо таблицы с календарем подставить любую непустую

Jeep
13.11.2017
22:27:38
Всем привет, может кто нибудь пояснить что такое @i := в этих строчках кода ?
set @i := 0;
update songs set id = (@i := @i+1 ) order by id;
что за @i := такое ? или може кто ссылку кинет на материал в инете ?

Аггей
13.11.2017
22:36:41
переменная

Google

Jeep
13.11.2017
22:43:17

Влад
15.11.2017
11:26:05
Привет
помогите разобратся что не так в фукции - так как не могу ее создать

Yaroslav
15.11.2017
11:33:43
просто она невидимая

Nazary
15.11.2017
12:28:46
Я вот пару дней в этом чате, и понимаю, что тут мало, когда помогут)

Danil
15.11.2017
12:31:26
Ну не знаю, не знаю....

Аггей
15.11.2017
13:02:19

Pavel
15.11.2017
13:05:22
И еще если вопрос сформулирован неполно или некорректно, то гораздо проще проигнорировать сообщение, чем выпытывать у вопрошающего дополнительные детали.