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

  • Автор темы alexab
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

alexab

#1
Необходимо выбрать значение в строке из имеющихся двух различных таблиц при определенном условии. Например если в какой либо ячейки записана 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]

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

alexab

#3
в Access

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

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

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

по выбранному типу шага выбираю нужный код а описание должно прописываться автоматически в соответствии с кодом
 
04.09.2006
2 566
3
#4
Поясни подробнее... Код шага может быть равен коду коммутации или коду команды? Или при значении код шага = 1 надо выбрать из таблицы Коммутация поля, а при код шага = 2 - из таблицы команда поля?
 
A

alexab

#5
при значении тип шага = 1 надо выбрать из таблицы Коммутация поля нужный код коммутация, а при тип шага = 2 - из таблицы команда поля код команды при этом они должны выбираться в одном поле.
 
04.09.2006
2 566
3
#6
Код:
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]

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

alexab

#8
сможете побробней объяснить что именно за условие?
 
04.09.2006
2 566
3
#9
Ну, например, при выборе из таблицы Коммутация поля:
Код:
WHERE описание = "AAA"
 
Статус
Закрыто для дальнейших ответов.