возможно ли это реализовать?

Тема в разделе "SQL", создана пользователем alexab, 9 ноя 2006.

Статус темы:
Закрыта.
  1. alexab

    alexab Гость

    Необходимо выбрать значение в строке из имеющихся двух различных таблиц при определенном условии. Например если в какой либо ячейки записана 1 выбираем значение из одной таблицы если 2 то из другой
     
  2. ????

    ???? Гость

    возможно. уточни для какой СУБД и где находится
    <!--QuoteBegin-alexab+9:11:2006, 15:00 -->
    <span class="vbquote">(alexab @ 9:11:2006, 15:00 )</span><!--QuoteEBegin-->в какой либо ячейки записана
    [snapback]47531" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    тестовые таблицы и данные приветствуются.
     
  3. alexab

    alexab Гость

    в Access

    главная таблица - тест поля - тип шага, код шага, описание шага

    таблица - коммутация поля - код коммутации, описание

    таблица - команда поля - код команды, описание

    по выбранному типу шага выбираю нужный код а описание должно прописываться автоматически в соответствии с кодом
     
  4. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Поясни подробнее... Код шага может быть равен коду коммутации или коду команды? Или при значении код шага = 1 надо выбрать из таблицы Коммутация поля, а при код шага = 2 - из таблицы команда поля?
     
  5. alexab

    alexab Гость

    при значении тип шага = 1 надо выбрать из таблицы Коммутация поля нужный код коммутация, а при тип шага = 2 - из таблицы команда поля код команды при этом они должны выбираться в одном поле.
     
  6. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Код (Text):
    SELECT Тип шага,
    CASE Новое поле
    WHEN a.Тип шага = 1 THEN
    SELECT Код коммутации AS Новое поле FROM Коммутация поля WHERE условие1
    WHEN a.Тип шага = 2 THEN
    SELECT Код комманды AS Новое поле FROM Команда поля WHERE условие2   
    END
    FROM Тест поля a
    Здесь условие1 - условие выбора записи из таблицы Коммутация поля, a условие2 - из таблицы Команда поля.
    Надеюсь в Access такое прокатит.
     
  7. ????

    ???? Гость

    в Access case'а вроде нет, надо с IIf'ами и подзапросами извращаться:
    [sql]SELECT ТипШага, IIf(ТипШага=1,
    (select КодКоммутации from Коммутация where Условие),
    (select КодКомманды from Комманда where Условие)
    ) AS НовоеПоле
    FROM ТестПоля;[/sql]

    подзапросы, само собой, должны возвращать не более одной строки
     
  8. alexab

    alexab Гость

    сможете побробней объяснить что именно за условие?
     
  9. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Ну, например, при выборе из таблицы Коммутация поля:
    Код (Text):
    WHERE описание = "AAA"
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей