Гость
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / запрос с таблицей-ограничителем / 5 сообщений из 5, страница 1 из 1
08.05.2013, 10:48
    #38251365
_devel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос с таблицей-ограничителем
ASE 15.7

Есть две таблицы

idcode1222

code12

вторая таблица служит ограничителем первой.
Т.е если вторая таблица пустая, то выводим все из первой, ели не пустая то выводим из первой только те записи которые совпадают по code со второй.

Можно ли такое сделать в одном запросе, или разбивать на несколько с использования IF?
...
Рейтинг: 0 / 0
08.05.2013, 11:45
    #38251501
_devel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос с таблицей-ограничителем
Разобрался сам:

Код: sql
1.
2.
3.
4.
5.
where 1 = case when code in (select code from #rest) then 1 
               when (select count(code) from #rest) = 0 then 1
               else 0 end

-- #rest - вторая таблица
...
Рейтинг: 0 / 0
08.05.2013, 15:46
    #38251976
Teck
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос с таблицей-ограничителем
_devel, как Вам такой вариант:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT tt1.id,COALESCE(code2,code1) AS code FROM 
    (SELECT ID,code AS code1 FROM t1) AS tt1
LEFT JOIN
    (SELECT t1.id AS id2,t2.code AS code2 FROM t1 t1, t2 t2) AS tt2
ON 
    tt2.id2=tt1.id
WHERE 
    code=code1
ORDER BY 
    tt1.id



t1 - первая таблица, t2 - вторая.
Только, на мой взгляд, поле не совсем верно называть "ID".
...
Рейтинг: 0 / 0
03.06.2013, 22:52
    #38284423
escapist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос с таблицей-ограничителем
Teck,
ещё можно через UNION: всей первой таблицы если пусто во второй и JOIN'а первой и второй таблицы по code
...
Рейтинг: 0 / 0
04.06.2013, 09:11
    #38284652
Teck
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос с таблицей-ограничителем
escapist,

Согласен)
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / запрос с таблицей-ограничителем / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]