условие для select в другой таблице

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

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

wet.all
Сообщения: 2
Зарегистрирован: 26 ноя 2009, 19:00

26 ноя 2009, 19:22

Всем доброго настроения!
(разжёвываю для будущих поколений)
суть такова:
есть две таблицы form & use
form
A B C
3 2 3
1 4 2
...

use
id usl
1 A=1 and B=4
2 B=4 amd c is not null
......

нужно выбрать записи из табл. form по условию находящимуся в табл. use
ну шото типа:
select * from FORM where select USL from USE where ID=1
применение переменных и курсоров нежелательно.
Пасиба.
Аватара пользователя
Duncon
Сообщения: 1974
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

26 ноя 2009, 20:41

Дибилопост.
[syntax=Delphi] [/syntax]
wet.all
Сообщения: 2
Зарегистрирован: 26 ноя 2009, 19:00

27 ноя 2009, 11:07

Duncon писал(а):Дибилопост.
Ты херню не городи, лучше прямо скажи- можно (как) или нет
Аватара пользователя
Duncon
Сообщения: 1974
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

27 ноя 2009, 12:23

Еслиб был понятен вопрос был бы ответ.
[syntax=Delphi] [/syntax]
wet.all
Сообщения: 2
Зарегистрирован: 26 ноя 2009, 19:00

27 ноя 2009, 12:43

Нельзя так писать
select * from FORM where select USL from USE where ID=1
ORA-00936: отсутствует выражение
Yurich
Сообщения: 104
Зарегистрирован: 23 фев 2004, 19:07

27 ноя 2009, 13:14

wet.all писал(а):Всем доброго настроения!
(разжёвываю для будущих поколений)
суть такова:
есть две таблицы form & use
form
A B C
3 2 3
1 4 2
...

use
id usl
1 A=1 and B=4
2 B=4 amd c is not null
......

нужно выбрать записи из табл. form по условию находящимуся в табл. use
ну шото типа:
select * from FORM where select USL from USE where ID=1
применение переменных и курсоров нежелательно.
Пасиба.
SQL'ем тут не обойтись...
Аватара пользователя
Игорь Акопян
Сообщения: 1419
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

27 ноя 2009, 15:18

в Firebird'e можно вроде.... у других не знаю
Изображение
Аватара пользователя
Duncon
Сообщения: 1974
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

27 ноя 2009, 16:27

Yurich писал(а): Duncon, выбирай выражения! Я согласен, что пост не совсем понятный, но это не повод грубить.
Вы вобще посланы леc там--->>>
[syntax=Delphi] [/syntax]
Yurich
Сообщения: 104
Зарегистрирован: 23 фев 2004, 19:07

27 ноя 2009, 16:50

Duncon писал(а):Вы вобще посланы леc там--->>>
Duncon, молодец, что научились обращаться к людям на вы. Это для вас прогресс... :) Осталось вам еще гордыню умерить и с вами уже можно будет вести более-менее нормальный разговор.
На счет леса, позвольте мне напомнить куда были посланы вы... Duncon, вам сюда...
IceFlame
Сообщения: 62
Зарегистрирован: 29 ноя 2009, 03:54

30 ноя 2009, 03:08

Без переменных тут не обойтись, а с ними с помощью EXEC.
А с ним это выглядит так:

Код: Выделить всё

DECLARE @a Varchar(120)
SET @a=(SELECT usl FROM [use] WHERE id=1)
EXEC('select * from FORM where '+@a);
Ответить