|
Проблема с SQL
|
|||
---|---|---|---|
#18+
Привет. Проблема в следующем: Есть таблица, в которой содержатся данные о сотрудниках: Код: plaintext 1. 2. 3. 4. 5. 6.
true- мужской пол, false соответственно женский. Нужно написать запрос который бы выводил количество МУЖ и ЖЕН поля для соответсвующей национальности. Примерно такой запрос выдает слудеющий результат Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Как сделать чтобы оба поля выводились в одной строке? В оракле это делалось с помощью Union All. В постгрусе Union All дает тот же самый результат. Помогите побороть. PostgreSQL v7.4.2 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2004, 10:04 |
|
Проблема с SQL
|
|||
---|---|---|---|
#18+
select * from ( select national, count(*) as male from test where sex = true group by national ) as M full outer join ( select national, count(*) as female from test where sex = false group by national ) as F using ( national ) P. S.: "В оракле это делалось с помощью Union All." Кажется, что union здесь не поможет, даже оракловый. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2004, 10:34 |
|
Проблема с SQL
|
|||
---|---|---|---|
#18+
Оракловский Union помогал. С энтим щаз поразбераюсь. Спасиб ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2004, 10:39 |
|
Проблема с SQL
|
|||
---|---|---|---|
#18+
Огромным спасиб, все получилось ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2004, 10:44 |
|
Проблема с SQL
|
|||
---|---|---|---|
#18+
Еще так придумалось. select national, sum( case when sex is true then 1 else 0 end ) as male, sum( case when sex is true then 0 else 1 end ) as female from test group by national "Оракловский Union помогал." Странно. :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2004, 10:52 |
|
Проблема с SQL
|
|||
---|---|---|---|
#18+
Да такой вариант тоже. ТОлько вот group по дурацки сортирует ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2004, 12:57 |
|
Проблема с SQL
|
|||
---|---|---|---|
#18+
Как заставить group by отсортировать national по возрастанию ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2004, 13:19 |
|
|
start [/forum/topic.php?fid=53&msg=32468637&tid=2007910]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 138ms |
0 / 0 |