
Alexander
25.04.2017
11:32:22
В зависимости от типа джоина варируется результат

Oleg
25.04.2017
11:33:13
у меня left_join
это, если я правильно помню все A + принадлежащие им B

Google

Alexander
25.04.2017
11:33:33

Alex
25.04.2017
11:33:42
нет )
нужен левый )
просто через where он отсеивает там где B == NULL
а ему надо B.fields == NULL

Alexander
25.04.2017
11:34:11

Oleg
25.04.2017
11:34:14
inner наоборот отсеет все A без B

Alexander
25.04.2017
11:34:19

Alex
25.04.2017
11:34:27
Короч, берешь какое то поле

Oleg
25.04.2017
11:34:36
A right вернет мне кучу B

Alex
25.04.2017
11:34:38
По которому делаешь обратное условие.
например B.id != NULL

Alexander
25.04.2017
11:34:48
А ему отсеять А нужно в зависимости от полей в Б

Google

Alex
25.04.2017
11:34:51
Должно сработать я думаю.

Alexander
25.04.2017
11:34:55
И это вроде не лефт

Lupsick
25.04.2017
11:34:59
вот я щас дрочу запрос, который имеет 174 строчки
а вы left от right join'a не можете отличить

Alexander
25.04.2017
11:35:16
Но у меня уже мозги киснут ?

Oleg
25.04.2017
11:35:35
Короче, давайте примем за истину, что я не накосячил с типом join
потому что это так

Lupsick
25.04.2017
11:35:52
давай ты просто напишешь отношения между таблицами и что тебе нужно
и я тебе напишу обычный sql
без orm'a

Alex
25.04.2017
11:35:59

Alexander
25.04.2017
11:36:08

Lupsick
25.04.2017
11:36:14
я не страдаю
люблю sql

Alexander
25.04.2017
11:36:22

Alex
25.04.2017
11:36:30
люблю sql
большинство не любят sql, ты им подлянку делаешь
Но мы конечно же думаем только о себе.

Lupsick
25.04.2017
11:36:47
постгрес такой мощный пиздец

Alex
25.04.2017
11:36:50

Alexander
25.04.2017
11:37:13

Google

Oleg
25.04.2017
11:37:17

Lupsick
25.04.2017
11:39:41
SELECT * FROM A LEFT JOIN B ON B.ID = A.B_ID WHERE B.ID IS NULL
UNION
SELECT * FROM A INNER JOIN B ON B.ID = A.B_ID WHERE B.FIELD IS NOT NULL

Sasha
25.04.2017
11:39:47
Еще раз А и Б (сидели на трубе)
Нужно вернуть все А
1) У которых - B не равны нулю определенные поля
2) все записи А у которых нет принадлежащей B

Alex
25.04.2017
11:40:11
union это два внутренних запроса, не?
зачем так жить

Oleg
25.04.2017
11:40:18

Lupsick
25.04.2017
11:40:27
юнион охуенная штука

Oleg
25.04.2017
11:40:30
Боже, спасибо, я и забыл уже про этого мерзавца

Alex
25.04.2017
11:40:53
не помню умеет AR в OR или нет.

Lupsick
25.04.2017
11:41:00
нахуй натягивать сову на глобус если можно сделать нормально

Oleg
25.04.2017
11:41:30

Lupsick
25.04.2017
11:41:54

Lupsick
25.04.2017
11:42:18
вообще постгресу например похуй на сложность запроса
если там внутренние селекты и проч

Sasha
25.04.2017
11:44:25
ну важно не только сложность запроса, а размер бд.

Lupsick
25.04.2017
11:45:03
если 1-2 млн записей то ему тоже похуй

Alex
26.04.2017
14:53:25
2.3.1 (app)[18] » [3.years.to_i, 36.months.to_i]
=> [94672800, 93312000]
2.3.1 (app)[19] » 3 * 12
=> 36
Бредово как то
Где я тут ошибся?

Alexander
26.04.2017
14:56:25

Google

A
26.04.2017
14:57:07
в трех годах?

Alex
26.04.2017
14:57:17

A
26.04.2017
14:57:36
ну не факт что в трех годах будет один високосный год
надо смотреть в соус
ActiveSupport::Duration.to_i

Ярослав
26.04.2017
14:58:16
тут дело в количестве дней в месяце похоже

Alexander
26.04.2017
14:58:36
в трех годах?
в последних трёх был, он может относительно текущей даты смотрит

Admin
ERROR: S client not available

Alexander
26.04.2017
14:58:39
а может и сумма этого

Slava
26.04.2017
14:58:48
12.month.to_i это 30.days.to_i * 12, а не 365.days.to_i
активсаппорт не такой умный =)

Ярослав
26.04.2017
14:59:09
он месяцы по 30 дней считает

Alex
26.04.2017
15:00:16

Felix
26.04.2017
15:03:35
2.3.0 :181 > 12.months == 1.year
=> false
2.3.0 :184 > 365.days == 1.year
=> false

Alex
26.04.2017
15:04:23
life == good
=> false

Felix
26.04.2017
15:04:35
последнее меня смущает)

Alex
26.04.2017
15:04:38
а вообще спасибо да, вечером голова уже отключается, да и даты не люблю.

Felix
26.04.2017
15:04:45
чем 365.days отличаются от 1.year?

Alex
26.04.2017
15:04:57
там какие нибудь замуты с датами опять.

Felix
26.04.2017
15:05:39
разница в 6 часов почему-то

Google

Ярослав
26.04.2017
15:09:45
похоже это связано с високосными годами
накапливается погрешность по 6 часов в год
и за 4 года получаем одни сутки дополнительные

Felix
26.04.2017
15:10:53
а точняк

vc93
26.04.2017
16:33:44
поправте, если я что-то не так понял.
блоки и проки выполняются там, где были обьявлены, а методы там, в каком контексте были вызваны. верно?

Alexander
26.04.2017
17:35:29

Eugene
26.04.2017
20:11:04
Там есть лямды и проки
При вызове p (where p - Proc.new{}) возвращается место в памяти, lamda также только + пометка lambda
Разница при испольнение keyword return
Proc возвращается к коду от куда был вызван
Lambda возвращает код сразу же за пределами lambda кода

Sergey
26.04.2017
20:17:22
Почему возвращает false, а в переменной true?
var = true and false
=> false
var
=> true

ojab
26.04.2017
20:18:45
потому что (var = true) and false, очевидно

Sergey
26.04.2017
20:21:34
аа, потому что приоритет and даже выше чем = ?

Ярослав
26.04.2017
20:39:57

Klim
26.04.2017
20:43:07
у && выше, а у and ниже.

Igor
26.04.2017
20:44:11
Не используйте and/or
Просто не используйте
Также как и not