Задать вопрос

Подзапросы. Что писать после второго селекта?

Всем привет!

Подскажите, что писать после второго select'а?

Пример, есть две таблицы(T1 - таблица заказов, T2 - таблица географических пунктов).

Ожидаемый результат: вывод всех заказов, где название города (приемки) начинается на "КА".

select  *
from  T1
where t1.DEST_LOCATION_GID IN (select t2.LOCATION_GID
from T2
where t2.location_NAME like 'КА%')


Если подставить во второй селект * или 1, то запрос не работает . Почему так происходит?
  • Вопрос задан
  • 448 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@res2001
Developer, ex-admin
Делайте через join, не нужен тут in:
select  t1.* from  T1 as t1
left join T2 as t2 on t2.location_NAME like 'КА%' and t2.LOCATION_GID=t1.DEST_LOCATION_GID
Ответ написан
YardalGedal
@YardalGedal
yeah boy
Потому что второй запрос должен возвращать только один столбец, иначе как один столбец t1.DEST_LOCATION_GID будет сравниваться с более чем одним?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы