Задавайте вопросы, мы ответим
Вы не зашли.
Добрый вечер коллеги!
У меня такая задача:имеются две таблицы, в одной из них имеется колонка CITY_ID, в другой CITY_ID и CITY_NAME. Метод из Java получает данные из колонки CITY_ID в первой таблице. Вопрос: можно ли в SQL сделать так, чтобы метод получал из БД CITY_ID из первой таблицы и в соответствии ему-CITY_NAME из другой? Какими средствами это можно сделать(запрос, view и пр.)?
Заранее благодарен!
Отредактированно XuLLlHuK (31.10.2011 18:43:52)
Неактивен
Добрый вечер.
Не вполне понятно, в чем именно вопрос, уточните пожалуйста.
Получить CITY_NAME по CITY_ID -
Отредактированно deadka (31.10.2011 18:45:43)
Неактивен
Грубо говоря, есть таблица T_COMPANY - данные о компании(COMPANY_ID, CITY_ID, NAME и т.п.) и таблица T_CITIES - данные о городах(CITY_ID, CITY_NAME, POPULATION и т.п.). Метод получает CITY_ID из T_COMPANY и должен получить CITY_NAME из T_CITIES, в соответствии ID города.
Метод не хочется нагружать лишними циклами по определению названия города по ID...
Забыл уточнить: метод получает весь список данных из таблиц.
Отредактированно XuLLlHuK (31.10.2011 19:03:18)
Неактивен
Если в метод приходит одна переменная, содержащая CITY_ID, назовём ее nCityID, то Вы можете получить
CITY_NAME запросом select CITY_NAME from T_CITIES where CITY_ID=nCityID. При наличии индекса на поле CITY_ID в таблице T_CITIES, выборка будет проходить мгновенно.
Неактивен
У меня получился такой вот запрос в методе:
Неактивен
А что находится в t_company.city_id?
Вот так
select CITY_NAME from T_CITIES where city_id = 1;
или так
select CITY_NAME from T_CITIES where city_id = 2;
должно сработать (при наличии таких id в таблице, конечно)
Неактивен
такие же city_id как в t_cities.city_id.
Неактивен
Решил задачку:
Отредактированно XuLLlHuK (31.10.2011 20:36:56)
Неактивен
Вообще приведенный Вами запрос выглядит корректно (разве что подзапрос возвращает более, чем одну строку в каком-то случае). Но с этим Вам на оракловый форум .
Неактивен