Запрос с условием выбора таблицы

SQL во всех проявлениях - от ANSI-92 до TSQL.

Модераторы: Yurich, Absurd

Ответить
abr_question
Сообщения: 2
Зарегистрирован: 26 май 2010, 03:02

26 май 2010, 03:14

Имеется таблица, в которой поля указывают на значения полей из других таблиц. Грубо говоря, так:
Table1 (int field1, int field2, int field3)
Table2 (int id2, varchar caption2)
Table3 (int id3, varchar caption3)
Table4 (int id4, varchar caption4)

Необходим запрос, который бы вывел таблицу со следующими полями: field1, caption2, caption3
на примере ето выглядит так:

Table1:
<1><1><1>
<2><2><3>

Table2:
<1><раз>
<2><два>

Table3:
<1><raz>
<2><dva>
<3><tri>

Запрос выводит:
<1><раз><raz>
<2><два><tri>

В общем, проблема не сколько в составлении такого запроса, сколько в том, что от поля field1 зависит, из какой таблицы будет браться третье поле запроса. То есть, если field1 равно 1 или 2, то третье поле в запросе будет выводить caption3, а вот если field1 = 4, то третье поле запроса должно выводить caption4.

Извиняюсь за непрофессиональный язык. Я вроде SQL знаю, но объясняю плохо...
Надеюсь на помощь :)
Аватара пользователя
Игорь Акопян
Сообщения: 1419
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

26 май 2010, 14:57

а надо ли плодить таблицы?
ничего кроме stored procedure в голову не приходит
шозасервер?
Изображение
abr_question
Сообщения: 2
Зарегистрирован: 26 май 2010, 03:02

26 май 2010, 17:32

Игорь Акопян писал(а):а надо ли плодить таблицы?
ничего кроме stored procedure в голову не приходит
шозасервер?

Ms Access, прогаю в Delphi

Мне уже подсказали, что лучше UNION'ом сделать. Заработало ;)
За помощ спасибо ;)
Ответить