
Al
26.03.2018
06:57:28

Ilia
26.03.2018
06:57:50
Ну это не отчество. Это другое

Al
26.03.2018
06:58:05
Какое другое?
Это как раз то куда ты можешь вписать свое отчество

Google

Tim
26.03.2018
06:59:01
middle name может быть отчеством, а может и не быть

Al
26.03.2018
06:59:15
Это уже софистика
Мы же о структуре дб а не о национальных особеностях второго/среднего имени.

Tim
26.03.2018
07:00:33

Alexey
26.03.2018
16:01:16
Есть таблица table1, в которой два поля (Name1 и Name2) содержат внешние ключи на другую таблицу table2. Как назвать эти поля в представлении, чтобы они отличались? То есть если я укажу table2.Name сделаю связь таблиц через join, то просто дублируется значение первого поля. Может кто подсказать как в такой ситуации быть?

Al
26.03.2018
16:04:24

Alexey
26.03.2018
16:05:17
Через AS, а потом сделать присвоение в WHERE?
Так ошибку выдает.
Извиняюсь, если справшиваю элементарные вещи. Я не так давно начал учить БД.
Вот, что имеется ввиду.
Нужно Петя, Вова, чтобы значения были разные, а дублировалось первое.
Слишком очевидно или непонятно объяснил?)

Google

Dmitriy
26.03.2018
20:04:20
построй ещё раз правильно запрос, и мы тебе поможем
и какие значения в первой таблице
в таблице1 указываешь внешний ключ,который ссылается на первичный ключ в таблице2,который не может быть строкой,он должен быть int

Ilia
27.03.2018
03:33:05
Если ключ в дочерней один, так и оставлять как в родительской табличке. Если ключей больше одного, надо добавлять в имя role name. Причем иногда можно добавлять, иногда замещать role name-ом имя родительского поля. Как удобнее. Это зависит от предметки и таблицы.
Role name это роль атрибута в дочерней таблице. Например два юзера посылают письмо друг другу, оба юзера, но у одного роль отправитель, у другого получатель.

Artyom
28.03.2018
06:17:44
Ребят, привет, подскажите , на слейве mysql выполнили транзакции, как определить какие и кто это сделал . Репликация через gtid.

lost
28.03.2018
08:58:36
Очевидно взять gtid_executed совпадающие с uuid слейва

Artyom
28.03.2018
10:30:28

lost
28.03.2018
10:35:53
Смотреть бинлог
слейва

Oleg
28.03.2018
10:52:42
Вопрос - как в docker-compose убить контейнер после его работы? (как команда docker —rm)

Artyom
28.03.2018
11:00:15

Vitalii
28.03.2018
12:03:57
-v с вольюмами

Alex
28.03.2018
12:46:55
День добрый. У меня такой интересный вопрос. Вероятно на него ответ будет "никак", но все же вдруг. Есть две таблицы. Допустим структура одинаковая. В одной 1000 записей. В другой 10 записей. ID из второй таблицы есть точно в первой. Каким образом можно сравнить этим записи и получить ID записи и список столбцов по которым есть различия в данных

Валерия
28.03.2018
12:47:36
LEFT JOIn по ID

Alex
28.03.2018
12:47:40
Сравнить каждый атрибут по отдельности конечно могу. Но вот что прям магия произошла
не не не. причем тут left join.

Валерия
28.03.2018
12:47:55
а надо выявить разные?

Google

Валерия
28.03.2018
12:47:59
INTERSECT

Alex
28.03.2018
12:48:26
мне нужно не разные записи, а список атрибутов который отличается по каждой записи
к пример. две таблицы юзеров (id, Ф,И,О)
в одной (1, Ivanov, Ivan, Ivanovich). В другой (1, Ivanov, Vasiliy, Ivanovich)
Вот чтоб на выходе (1, И)
можно список атрибутов через запятую)

Vladislav
28.03.2018
12:51:20
left join по всем полям

Alex
28.03.2018
12:51:26
Я конечно могу сделать join и каждый атрибут проверить как-то так
select case when t1.И=t2.И then 0 else 1 end, ...
А всмысле сделать количество left join соразмерно количеству нужных мне атрибутов?

Валерия
28.03.2018
12:52:28
можно все атрибуты связать как строку , сгенерировать check_sum , выявить там где он отличается) у меня нет идей, а это возможно глупая
чтобы все case when не перчислять если в SQL

Vladislav
28.03.2018
12:54:49
t1 left join t2 on id1=id2 and f1=f2 and i1=i2 and o1=o2
where t2.id is null

Alex
28.03.2018
12:56:27
знать какие отличаются
Типо в записи 1 только Имя
в записи 2 Имя и Фамилией

Vladislav
28.03.2018
12:57:38
на выводе сделай coalesce по каждому полю или что-то типа того

Валерия
28.03.2018
13:08:27
https://events.yandex.ru/events/yasubbotnik/31-march-2018/
мало ли кому пригодится


Artyom
28.03.2018
13:09:43
Смотреть бинлог
Подскажи, пожалуйста, бин лог вот в таком виде , это из-за того что стоит формат row ? т.е. фиксируются только изменения.. и выцепить поидее какой запрос не получится.. #180326 14:13:56 server id 76 end_log_pos 426677906 CRC32 0x6bf9f33f GTID last_committed=116265 sequence_number=116267 rbr_only=yes
/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;
SET @@SESSION.GTID_NEXT= 'e8469f2e-301c-11e8-8faf-0050569e261a:2'/*!*/;
# at 426677906
#180326 14:13:56 server id 76 end_log_pos 426677979 CRC32 0x16b2e455 Query thread_id=8 exec_time=0 error_code=0
SET TIMESTAMP=1522062836/*!*/;
BEGIN
/*!*/;
# at 426677979
#180326 14:13:56 server id 76 end_log_pos 426678151 CRC32 0x32e493c5 Table_map: `mysql`.`user` mapped to number 4
# at 426678151
#180326 14:13:56 server id 76 end_log_pos 426678499 CRC32 0xecd37ab3 Update_rows: table id 4 flags: STMT_END_F
BINLOG '
9NW4WhNMAAAArAAAAIeXbhkAAAQAAAAAAAEABW15c3FsAAR1c2VyAC3+/v7+/v7+/v7+/v7+/v7+
/v7+/v7+/v7+/v7+/v7+/vz8/AMDAwP+/P4RAv5L/rT+YPcB9wH3AfcB9wH3AfcB9wH3AfcB9wH3
AfcB9wH3AfcB9wH3AfcB9wH3AfcB9wH3AfcB9wH3AfcB9wH3AQICAv7AAvcBAPcBAAAAAAANxZPk
Mg==
9NW4Wh9MAAAAXAEAAOOYbhkAAAQAAAAAAAEAAgAt////////////////AAAAAADoCDE3Mi4xNi4l
DHByb3RvdmVkdXNlcgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAVbXlzcWxfbmF0aXZlX3Bhc3N3b3JkKQAqQkNFQTNGRkU3RTdGNTkyMzRDOTUxQjM1
NDc3NUI4OEMzOTQwNUY4NQFZGuqiAQAAAAAA6AgxNzIuMTYuJQxwcm90b3ZlZHVzZXICAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFW15c3FsX25hdGl2
ZV9wYXNzd29yZCkAKkJDRUEzRkZFN0U3RjU5MjM0Qzk1MUIzNTQ3NzVCODhDMzk0MDVGODUBWRrq
ogGzetPs
'/*!*/;
# at 426678499
#180326 14:13:56 server id 76 end_log_pos 426678573 CRC32 0xe7f74b8d Query thread_id=8 exec_time=0 error_code=0
SET TIMESTAMP=1522062836/*!*/;
COMMIT
/*!*/;
# at 426678573
# at 426678638


lost
28.03.2018
13:10:38
Да. Все верно. Выцепить получится. Есть утилита mysqlbinlog
Приводит row-формат к удобоваримому виду

Google

Artyom
28.03.2018
13:10:56

Vladislav
28.03.2018
13:12:27

lost
28.03.2018
13:12:38

Artyom
28.03.2018
13:13:12

Alexey
28.03.2018
15:19:42
Т.е. решение, конечно, существует.

Ilia
28.03.2018
15:22:33

Alexey
28.03.2018
15:24:48
к пример. две таблицы юзеров (id, Ф,И,О)
в одной (1, Ivanov, Ivan, Ivanovich). В другой (1, Ivanov, Vasiliy, Ivanovich)
Вот чтоб на выходе (1, И)
Ко-во столбцов в выоде должно быть одинково. В данном случае столько, сколько столбцов в таблицах.

Ilia
28.03.2018
15:25:29

Валерия
28.03.2018
15:26:45
Но спасибо за обратную связь)

Alexey
28.03.2018
15:27:47

Ilia
28.03.2018
15:29:19
Но спасибо за обратную связь)
Все атрибуты можно только в СУБД, где есть понятие кортежа в виде типа данных.
Я только одну такую знаю, это postgress. Если поддержки Кортежа нет, то это будет просто одно сплошное нарушение доменной целостности данных, а не решение.
Но спасибо за обратную связь)
Ты не можешь запихать два поля в одну строку так, чтобы потом различить в этой строке значения каждого из полей в отдельности. Невозможно.

Alexey
28.03.2018
15:31:16
Запрос

lost
28.03.2018
15:31:34

Ilia
28.03.2018
15:32:16
Ну там много вариантов

Google

Alexey
28.03.2018
15:33:00

Ilia
28.03.2018
15:33:01
Самый простой full outer join конечно...

lost
28.03.2018
15:33:53
вот именно
и никто не говорил, что там ограничится все одним left join

Alexey
28.03.2018
15:36:47
Ок)

lost
28.03.2018
15:38:00
А ещё есть такая штука как natural join...