Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как сформировать динамичский запрос? / 12 сообщений из 12, страница 1 из 1
11.08.2016, 16:13:11
    #39290438
Зурбаган
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сформировать динамичский запрос?
Привет! Вопрос у меня по SQL.
Команда Select * from table1 where id in (select id from table2) позволяет работать с одним полем и искать его значения в подзапросе.
А как сделать так, чтобы можно было искать значения сразу для пары полей в подзапросе?
...
Рейтинг: 0 / 0
11.08.2016, 16:15:35
    #39290440
Fogel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сформировать динамичский запрос?
ЗурбаганПривет! Вопрос у меня по SQL.
Команда Select * from table1 where id in (select id from table2) позволяет работать с одним полем и искать его значения в подзапросе.
А как сделать так, чтобы можно было искать значения сразу для пары полей в подзапросе?
например, конкатенацией:
Код: plsql
1.
where id||v in (select id||v from table2)
...
Рейтинг: 0 / 0
11.08.2016, 16:16:40
    #39290447
Зурбаган
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сформировать динамичский запрос?
Fogel,
про этот способ я знаю. А другого нет? Оптимизатор запросов как воспримет данную конструкцию?
...
Рейтинг: 0 / 0
11.08.2016, 16:19:25
    #39290453
ню...
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сформировать динамичский запрос?
Код: plsql
1.
where (id,v) in (select id,v from table2)
...
Рейтинг: 0 / 0
11.08.2016, 16:20:57
    #39290456
--Eugene--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сформировать динамичский запрос?
Зурбаган,

Код: plaintext
select * from t1 where (a, b) in (select x, y from t2)
...
Рейтинг: 0 / 0
11.08.2016, 16:21:27
    #39290457
K790
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сформировать динамичский запрос?
Зурбаган,

по мотивам предыдущей темы 19529568
Код: plsql
1.
SELECT * FROM DUAL D WHERE ((D.DUMMY,D.DUMMY) IN ((SELECT DUMMY,DUMMY FROM DUAL)))
...
Рейтинг: 0 / 0
11.08.2016, 16:29:34
    #39290468
Fogel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сформировать динамичский запрос?
ЗурбаганFogel,
Оптимизатор запросов как воспримет данную конструкцию?
при больших объёмах данных со скрипом и натугой, если нет функционального индекса на конкатенацию этих полей и/или индекса на первое поле и/или составного индекса, где id идёт первым и/или...

ЗурбаганА другого нет?
очевидно и просто
Код: plsql
1.
2.
3.
in
and
in


если нет индексов, быстрее конкатенации выполнится на больших объёмах данных
...
Рейтинг: 0 / 0
11.08.2016, 16:34:04
    #39290476
Fogel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сформировать динамичский запрос?
FogelЗурбаганА другого нет?
очевидно и просто
Код: plsql
1.
2.
3.
in
and
in


если нет индексов, быстрее конкатенации выполнится на больших объёмах данных
и совсем немного, но быстрее, чем выборка
Код: plsql
1.
(id,v) in (select id, v from table2)



писать больше, но выполняется лучше
...
Рейтинг: 0 / 0
11.08.2016, 16:39:38
    #39290483
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сформировать динамичский запрос?
Fogelписать больше, но выполняется лучшеИ результат возвращает другой.
...
Рейтинг: 0 / 0
11.08.2016, 16:56:24
    #39290493
Fogel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сформировать динамичский запрос?
ElicFogelписать больше, но выполняется лучшеИ результат возвращает другой.
согласен
не учёл

допусловия увязки по строкам, rowid, например
...
Рейтинг: 0 / 0
11.08.2016, 17:07:41
    #39290502
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сформировать динамичский запрос?
Fogelдопусловия увязки по строкам, rowid, напримерНе стоит одну пургу отягощать другой.
...
Рейтинг: 0 / 0
11.08.2016, 17:46:00
    #39290527
Fogel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сформировать динамичский запрос?
ElicНе стоит одну пургу отягощать другой.
))))
таки не удержался
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как сформировать динамичский запрос? / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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