powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Более одного поля в IN
10 сообщений из 10, страница 1 из 1
Более одного поля в IN
    #35275592
startup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, плиз, работает ли такая схема в informix?

SELECT n1, n2, n3
FROM tab1
WHERE (n1, n2) IN (SELECT m1, m2
FROM tab2);

У меня почему-то syntax error :(
...
Рейтинг: 0 / 0
Более одного поля в IN
    #35275803
Фотография TmpFile()
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет так делать нельзя.

В некоторых случаях можно воспользоваться ROW.
...
Рейтинг: 0 / 0
Более одного поля в IN
    #35275814
Фотография TmpFile()
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотела прикрепить скиншот документации, увы, что-то не рабатет.
...
Рейтинг: 0 / 0
Более одного поля в IN
    #35275871
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
startupПодскажите, плиз, работает ли такая схема в informix?

SELECT n1, n2, n3
FROM tab1
WHERE (n1, n2) IN (SELECT m1, m2
FROM tab2);

У меня почему-то syntax error :(

Нельзя, но можно заменить на
SELECT n1, n2, n3
FROM tab1
WHERE EXISTS (SELECT 1 FROM tab2
where tab1.n1 = tab2.m1 and tab1.n2 = tab2.m2)
...
Рейтинг: 0 / 0
Более одного поля в IN
    #35275872
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выбегалло startupПодскажите, плиз, работает ли такая схема в informix?

SELECT n1, n2, n3
FROM tab1
WHERE (n1, n2) IN (SELECT m1, m2
FROM tab2);

У меня почему-то syntax error :(

Нельзя, но можно заменить на
SELECT n1, n2, n3
FROM tab1
WHERE EXISTS (SELECT 1 FROM tab2
where tab1.n1 = tab2.m1 and tab1.n2 = tab2.m2)

Что в свою очередь сокращается до банального
SELECT n1, n2, n3
FROM tab1, tab2
where tab1.n1 = tab2.m1 and tab1.n2 = tab2.m2
...
Рейтинг: 0 / 0
Более одного поля в IN
    #35275996
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выбегалло

Что в свою очередь сокращается до банального
SELECT n1, n2, n3
FROM tab1, tab2
where tab1.n1 = tab2.m1 and tab1.n2 = tab2.m2Если в tab2 две строки на одну из tab1, то удвоится
...
Рейтинг: 0 / 0
Более одного поля в IN
    #35276004
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денис Выбегалло

Что в свою очередь сокращается до банального
SELECT n1, n2, n3
FROM tab1, tab2
where tab1.n1 = tab2.m1 and tab1.n2 = tab2.m2Если в tab2 две строки на одну из tab1, то удвоитсяА если в tab2 много строк на каждую из tab1, работать будет дольше чем EXISTS.
...
Рейтинг: 0 / 0
Более одного поля в IN
    #35276612
startup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем большое спасибо!!
...
Рейтинг: 0 / 0
Более одного поля в IN
    #35277622
Leonid Vorontsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как вариант:

SELECT n1, n2, n3
FROM tab1
WHERE n1 || n2 IN ( SELECT m1 || m2 FROM tab2);
...
Рейтинг: 0 / 0
Более одного поля в IN
    #35289357
Фотография Евгений Фадеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денис Выбегалло

Что в свою очередь сокращается до банального
SELECT n1, n2, n3
FROM tab1, tab2
where tab1.n1 = tab2.m1 and tab1.n2 = tab2.m2Если в tab2 две строки на одну из tab1, то удвоитсяДля эквивалентности не хватает DISTINCT'а
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Более одного поля в IN
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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