Size: a a a

2021 January 26

IZ

Ivan Zaitsev in Random Ruby Chat
Nikita Batrak
@ivan_zaitsev а в итоге то работает?
Всё вроде как ты и имел в виду, (COND) or (COND and not COND)
источник

NB

Nikita Batrak in Random Ruby Chat
на первый взгляд ок, а что возвращается через array_cat(array_agg(x.active), array_agg(y.active)) для чувака, у которого пусто? пустой массив же?
источник

IZ

Ivan Zaitsev in Random Ruby Chat
Nikita Batrak
на первый взгляд ок, а что возвращается через array_cat(array_agg(x.active), array_agg(y.active)) для чувака, у которого пусто? пустой массив же?
Ну сам запрос возвращает это:
id  |     array_cat    
-----+-------------------
208 | {f,f,f,f}
210 | {NULL,f}
212 | {f,f,f,f,f,f,f,f}
223 | {NULL,NULL,f,f}
228 | {NULL,f}
230 | {NULL,f}
232 | {f,f,f,f}
234 | {f,f}
249 | {f,f}
250 | {f,f,f,f}
255 | {NULL,f}
279 | {f,NULL}
286 | {f,NULL}
311 | {f,NULL}
313 | {f,f,NULL,NULL}
317 | {f,NULL}
(16 rows)

Среди этих 16ти результатов нет таких где нет X и Y, в базе они есть само собой
источник

NB

Nikita Batrak in Random Ruby Chat
а, т.е. null для пустых вернет
источник

NB

Nikita Batrak in Random Ruby Chat
ясно
источник

NB

Nikita Batrak in Random Ruby Chat
или null null
источник

NB

Nikita Batrak in Random Ruby Chat
не очень будет, нужно подумать
источник

IZ

Ivan Zaitsev in Random Ruby Chat
Nikita Batrak
не очень будет, нужно подумать
Может уже в этом случае нужен outer join?
источник

IZ

Ivan Zaitsev in Random Ruby Chat
Типо оно ж сразу джойнит только те где есть связи, а значит сразу же упускаются те где нет ни X ни Y
источник

IZ

Ivan Zaitsev in Random Ruby Chat
Ivan Zaitsev
Может уже в этом случае нужен outer join?
Не, результаты те же
источник

IZ

Ivan Zaitsev in Random Ruby Chat
Пффффффф
источник
2021 January 27

IZ

Ivan Zaitsev in Random Ruby Chat
У меня таки получилось 😅 Всем спасибо за помощь, вот что вышло в итоге если кому интересно:
select
         n.*,
       from
       n
       left join x on x.n_id = n.id
       left join y on y.n_id = n.id
       group by n.id
       having (true = all (
           select unnest(
             array_cat(array_agg(x.active), array_agg(y.active))
           ) is null)) or
         (array_cat(
           array_agg(x.active), array_agg(y.active)
         ) @> ARRAY[false]::bool[] and not
           array_cat(
             array_agg(x.active), array_agg(y.active)
           ) @> ARRAY[true]::bool[])
источник

IZ

Ivan Zaitsev in Random Ruby Chat
true = all (
           select unnest(
             array_cat(array_agg(x.active), array_agg(y.active))
           ) is null)

Этой части не хватало, чтобы взять все где нет ни X, ни Y связаных сущностей.
источник

DA

Dmitry Antonenko in Random Ruby Chat
Коллеги, кто парсил экселевский фаил с картинками — отпишите, пожалуйста
источник

IP

Igor Pavlov in Random Ruby Chat
Кто же ты?
Анонимный опрос
53%
Рубист(ка)
33%
Вебкам-модель
10%
Hr
5%
мимо проходил(а)
Проголосовало: 40
источник

IP

Igor Pavlov in Random Ruby Chat
кажется, нужно время переклички для новоприбывших
источник

DA

Dmitry Antonenko in Random Ruby Chat
Igor Pavlov
Кто же ты?
Анонимный опрос
53%
Рубист(ка)
33%
Вебкам-модель
10%
Hr
5%
мимо проходил(а)
Проголосовало: 40
почему нет 2х вариантов ?
источник

DA

Dmitry Antonenko in Random Ruby Chat
теоретически очень даже может быть
источник

DM

Dmitriy Tensei Malys... in Random Ruby Chat
hr + вебкам модель можно добавить
источник

IP

Igor Pavlov in Random Ruby Chat
Там можно выбрать несколько пунктов
источник