|
Обработка результатов сложного запроса, как?
|
|||
---|---|---|---|
#18+
Задача следующая - есть несколько таблиц, в каждой есть специальная метка, можно сделать даже тип данных специальный для нее. Нужно во всех запросах эту метку выводить, но так, чтобы при любом запросе, например с объединением, в каждой результирующей строке была одна метка, вычисленная как максимум из всех меток записей, вошедших в результирующую строку. Что-то у меня идей не наблюдается :( ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2003, 11:41 |
|
Обработка результатов сложного запроса, как?
|
|||
---|---|---|---|
#18+
load=# create table t1 ( id integer, name varchar(32) ); CREATE TABLE load=# create table t2 ( id integer, name varchar(32) ); CREATE TABLE load=# create table t3 ( id integer, name varchar(32) ); CREATE TABLE load=# load=# insert into t1 values ( 1, 'abc' ); INSERT 3828966 1 load=# insert into t2 values ( 1, 'def' ); INSERT 3828967 1 load=# insert into t3 values ( 1, 'ghi' ); INSERT 3828968 1 load=# select id, max(name) as name from ( select id, name from t1 union select id, name from t2 union select id, name from t3 ) as a group by id; id | name ----+------ 1 | ghi (1 row) load=# select id, case when t1.name>t2.name and t1.name>t3.name then t1.name else case when t2.name>t3.name then t2.name else t3.name end end as name from t1 join t2 using ( id ) join t3 using ( id ); id | name ----+------ 1 | ghi (1 row) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2003, 15:25 |
|
|
start [/forum/topic.php?fid=53&msg=32288595&tid=2008101]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
215ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 317ms |
0 / 0 |