|
|
|
Добрейшего всем вечера.
|
|||
|---|---|---|---|
|
#18+
Вопрос: Как я могу сравнить две строки таблицы при помощи sql. конкретнее у меня есть таблица --Таблица адресов create table ADDRESSES ( id number(38,0) not null, client_id number(38,0) not null, a_type number(38,0) not null, city varchar2(50) not null, street varchar2(50) null, house varchar2(50) null, flat varchar2(50) null, created date default sysdate not null, archive char(1) default 'N' not null ) в ней интересны 4 поля city varchar2(50) not null, street varchar2(50) null, house varchar2(50) null, flat varchar2(50) null, т е может быть заполнен лишь город а может город и улица , также могут быть заполнены все 4 поля . я составил запрос, необходимо добавить ещё условие проверку на максимальную заполненность этих полей select distinct cl.id, cl.name AS name, (select c_info from contacts where c_type = 1 AND cl.id = client_id AND archive = 'Y' AND created in ( select max(created) from contacts where c_type = 1 AND cl.id = client_id AND archive = 'Y')) phone, (select c_info from contacts where c_type = 2 AND cl.id=client_id AND archive = 'Y' AND created in ( select min(created) from contacts where c_type = 2 AND cl.id = client_id AND archive = 'Y')) e_mail, adr.city address from clients cl left join contacts con on cl.id = con.CLIENT_ID left join addresses adr on cl.id = adr.CLIENT_ID where adr.id in (select a.id from addresses a where a.a_type in (select max(a_type) from addresses where cl.id = client_id AND archive = 'Y') AND a.city AND --самая последняя дата добавления адреса a.created in (select max(created) from addresses where a_type = a.a_type AND cl.id = client_id AND archive = 'Y')) order by cl.id з ы я ещё совсем новичок готов принять любую критику и если есть уже ссылки по теме пришлите пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 01:51 |
|
||
|
Добрейшего всем вечера.
|
|||
|---|---|---|---|
|
#18+
"Сравнить" и "проверить максимальную заполненность" - две разные задачи, причем практического применения второй сходу не придумаю. Обычно есть минимальная заполненность, ее обеспечивают constraints. Новичку советы: использовать тег SRC и предоставлять данные в виде with. Простой способ сравнения по нескольким полям - minus. Код: plsql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 07:18 |
|
||
|
Добрейшего всем вечера.
|
|||
|---|---|---|---|
|
#18+
Vitaly1999, http://www.sql.ru/forum/rules.aspxр Правила форума на SQL.RU Не рекомендуется: Публиковать сообщения с бессмысленными темами. Например: <Люди помогите>, <Проблема!!>, <Срочно нужна помощь!>, <может знаете?> и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 09:09 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39712741&tid=1883375]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 472ms |

| 0 / 0 |
