Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Alex
Зарегистрирован: 31.10.2008 Сообщения: 80
|
Добавлено: Чт Июл 16, 2015 11:32 pm Заголовок сообщения: Предложение Where оператора Select |
|
|
Приветствую, уважаемая аудитория.
Помогите пожалуйста с решением вот какой задачи.
T1.TAB с полями:
ID Integer (1,2 3, ...)
Period String ("круглый год", "по сезонам")
Через Select поочередно делаем три выборки
п1. Where Period = Any("круглый год", "по сезонам")
п2. Where Period = "круглый год
п3. Where Period = "по сезонам"
Здесь все понятно.
Однако, чтобы избежать многократных повторов многострочного кода (специфика программы), попытался в зависимости от требуемого условия (пункты 1 или 2 или 3) выразить правую часть каждого выражения через переменные.
Например, п.1
p, q as String
q = chr$(34)
p = str$(Any(" + q + "круглый год" + q + "," + q + "по мезонам" + q + ")")
Select*
From T1
Where Period = p
или Period = str$(p)
как не крути, программа выборку делать не хочет.
Так как правильно выразить то, что хотим записать после Where?
Спасибо. |
|
Вернуться к началу |
|
|
thegeo
Зарегистрирован: 17.01.2012 Сообщения: 119
|
Добавлено: Пт Июл 17, 2015 12:29 am Заголовок сообщения: |
|
|
Нужно весь оператор оформить как строку
Dim ss as string
ss="Select * from …"
и далее
Run Command ss |
|
Вернуться к началу |
|
|
Alex
Зарегистрирован: 31.10.2008 Сообщения: 80
|
Добавлено: Сб Июл 18, 2015 10:44 pm Заголовок сообщения: |
|
|
Да уж, Run Command творит чудеса.
Большое спасибо! |
|
Вернуться к началу |
|
|
FedorinoFF
Зарегистрирован: 01.02.2007 Сообщения: 272 Откуда: Санкт-Петербург
|
Добавлено: Вс Июл 19, 2015 11:13 am Заголовок сообщения: |
|
|
как вариант, сложить все свои периоды в отдельную табличку T_PERIOD
и написать такой запрос:
Select*
From T1
Where Period IN (select Period from T_PERIOD) |
|
Вернуться к началу |
|
|
|