Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Витя С.
Зарегистрирован: 17.09.2009 Сообщения: 21
|
Добавлено: Сб Дек 12, 2009 10:32 pm Заголовок сообщения: Несколько вопросов |
|
|
Здравствуйте.
Если вопросы слишком тупые - ткните в раздел справки. Сам не нашел.
1). Как в запросе MB указать интервал дат, если оператор in выдает ошибку?
2). В запросе прошу выбрать минимальную и максимальную дату. Изначально формат даты - ДД.ММ.ГГГГ
В результате запроса - формат ГГГГММДД , что не очень удобочитаемо. Где указывается нужный выходной формат даты?
3). Если в запросе хочу вывести среднее значение по колонке, то имя колонки во временной таблице - AVG(COLUMN_NAME)
После сохранения таблицы - _COLX (где Х - номер колонки).
Псевдонимы в запросе не принимает.
Как дать колонке нормальное имя после сохранения на диске?
4). Где можно найти, как использовать модули Delphi в MB?
Заранее спаасибо. |
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Вс Дек 13, 2009 1:04 pm Заголовок сообщения: |
|
|
1) Str$(дата) - форматирует дату в соответствии с локалью
2) select AVG(COLUMN_NAME) "среднее" from...
3) В доке MapBasic есть глава по интегрированной картографии. В примерах которые идут с MapBasic есть что-то из Delphi. |
|
Вернуться к началу |
|
|
Витя С.
Зарегистрирован: 17.09.2009 Сообщения: 21
|
Добавлено: Вс Дек 13, 2009 1:53 pm Заголовок сообщения: |
|
|
Str$() работает только если в качестве параметра указана колонка.
Если Str$(MAX(DT)) - то не работает:
---------------------------
MapInfo
---------------------------
Встретилось [(] там, где ожидается [)]. Список аргументов некорректен или отсутствует.
---------------------------
ОК
---------------------------
В чем проблема? |
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Вс Дек 13, 2009 11:10 pm Заголовок сообщения: |
|
|
Max(Str$(DT)) |
|
Вернуться к началу |
|
|
Витя С.
Зарегистрирован: 17.09.2009 Сообщения: 21
|
Добавлено: Чт Дек 17, 2009 11:14 pm Заголовок сообщения: |
|
|
Select Ing.COD, Ing.S_NAME, Ing.PDK, AVG(Prob_body.ZNACH) "Среднее", Min(Str$(PROB_ZAG.DT)) "MIN_DT", Max(Str$(PROB_ZAG.DT)) "MAX_DT", Kpx.X_KOORD, Kpx.Y_KOORD
from Ing, Prob_body, PROB_ZAG, Kpx
Where Ing.COD=ingredient AND Ing.COD=Prob_body.COD AND Prob_body.UNIC=PROB_ZAG.UNIC AND PROB_ZAG.KN=Kpx.KN
Group by X_KOORD, Y_KOORD
Into Выборка_по_ингредиенту
Browse * From Выборка_по_ингредиенту
В итоге в колонках дат получаю числа вроде 1,02 которые вообще не могу сообразить откуда взялись. Что не так? |
|
Вернуться к началу |
|
|
Alex_Y
Зарегистрирован: 28.11.2008 Сообщения: 122
|
Добавлено: Пт Дек 18, 2009 5:55 am Заголовок сообщения: |
|
|
делайте в два запроса
select Max(DT)), Min(DT) From Tab Into Query1 NoSelect
select FormatDate$(Col1), FormatDate$(Col2) From Query1 Into Query1 NoSelect
или делите на составляющие год, месяц, день и работайте с ними |
|
Вернуться к началу |
|
|
Витя С.
Зарегистрирован: 17.09.2009 Сообщения: 21
|
Добавлено: Сб Дек 19, 2009 9:22 pm Заголовок сообщения: |
|
|
Спасибо, получилось! |
|
Вернуться к началу |
|
|
|