Есть ли более быстрый способ в PostgreSQL по существу сделать if, если на нескольких строках?
Скажем, у меня есть таблица
ticket | row | archived
1 | 1 | true
1 | 2 | true
1 | 3 | true
2 | 1 | false
2 | 2 | true
Есть ли способ сделать оператор if в столбце, где ticket =? Так что, когда ticket = 1 будет истинным, потому что
true && true && true = true
и где ticket = 2 будет ложным, потому что
false && true = false
Или я должен просто придерживаться
SELECT ( (SELECT COUNT(*) FROM table WHERE ticket = 1)
= (SELECT COUNT(*) FROM table WHERE ticket = 1 AND archived = true) )