Есть таблица с направлениями и телефонными кодами вида:
billing=> select * from directions where id = 1075;
id | direction | code | min_len | max_len | int_code
------+---------------------------------+------+---------+---------+----------
1075 | United Kingdom Special Services | 4450 | 12 | 12 | 4450
1075 | United Kingdom Special Services | 448 | 12 | 12 | 448
1075 | United Kingdom Special Services | 4455 | 12 | 12 | 4455
1075 | United Kingdom Special Services | 449 | 12 | 12 | 449
1075 | United Kingdom Special Services | 4456 | 12 | 12 | 4456
1076 | United Kingdom Freephone | 44800 | 10 | 14 | 44800
1076 | United Kingdom Freephone | 44808 | 10 | 14 | 44808
Задача: получить список вида «id - direction - code (все с этим id)»
Как бы distinct on direction, но он, естественно, оставляет только первый code.
Вопрос: возможно ли одним запросом?