www.map-info.ru :: Просмотр темы - Предложение Where оператора Select
                               РќР° главную страницу сайта

 
                                
ВходВход    РегистрацияРегистрация    ПрофильПрофиль    ПользователиПользователи    ГруппыГруппы    FAQFAQ    ПоискПоиск  

 
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Предыдущая тема :: Следующая тема  
Автор Сообщение
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
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
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)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Top.Mail.Ru