Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.15;
Скачать: CL | DM;

Вниз

Запрос   Найти похожие ветки 

 
Link   (2002-06-19 11:37) [0]

Прошу помощи! Учусь работать с базами и составил запрос
select
dst_ip ,
sum(sent),
sum(recv)
from traffic
WHERE (SELECT DATEPART(mm, today)) = "2"
and(SELECT DATEPART (dd, today)) between "20" and "28"
and
sent > 0
and recv >0
group by dst_ip

Подскажите, что не так в шестой и седьмой строчке.
Заранее спасибо!


 
GT-9121A ©   (2002-06-19 11:40) [1]

какая база, какая ошибка?


 
Link   (2002-06-19 11:47) [2]

База Paradox.
Если интересуют поля, то
Dst_ip sent recv today

А ошибку выдаёт: лишняя скобка, когда убираешь, то лишнее between и так далее...


 
wicked ©   (2002-06-19 11:47) [3]

судя по функциям и синтаксису - это mssql...
а ошибка может быть в том, что в mssql нету такой функции, как today... ведь это не поле в таблице traffic?...
если имелась в виду текущая дата, то надо использовать getdate()...
и еще... в данном случае select"ы под where можно не использовать - уж очень неудобно читать...


 
wicked ©   (2002-06-19 11:49) [4]

2 Link
а paradox имхо вообще такой запрос не проглотит...


 
Link   (2002-06-19 11:52) [5]

А если имеется в виду дата в поле Today?


 
wicked ©   (2002-06-19 11:58) [6]

2 Link
повторяю - запрос для local sql засложен... он не понимает вложенных запросов... попробуй поубирать select"ы...


 
MOA   (2002-06-19 11:59) [7]

Это MSSQL, видимо?
today - это поле таблицы? Если нужна текущая дата, то в MSSQL это функция GETDATE().
Далее, по описанию DATEPART возвращает ЦЕЛОЕ (integer), т.е.
DATEPART(mm, today)=2 (без кавычек). Ну и второй аналогично.
Далее, непонятны 2 SELECT внутри - если today - это поле таблицы, то какой? Если это текущая дата - нет связи с таблицей traffic.
Т.е. варианты:

1. если today - это поле traffic

select
dst_ip ,
sum(sent),
sum(recv)
from traffic
WHERE DATEPART(mm, traffic.today) = 2
and DATEPART(dd, traffic.today) between 20 and 28
and
sent > 0
and recv >0
group by dst_ip

2. Если today - это попытка получить текущую дату, то непонятно о чем речь.

Удачи!


 
MOA   (2002-06-19 12:07) [8]

Пока писал ответ - обнаружилось, что за база. Сорри за MSSQL. А в Paradox есть DATEPART?
И в любом случае - ошибка во внутренних селектах - что же там выбирается? Откуда? Где связь с таблицей? (То что это поле таблицы - это не связь. Во вложенных SELECT FROM отсутствует. Откуда теперь брать today?). И движку это тоже неясно.
Удачи!


 
Link   (2002-06-19 12:21) [9]

Не знаю. Я только пятый день за базами. Может и нет в Paradox Datepart. Остальные варианты не помогли. А есть в Paradox эквивалентная функция? Просто очень нужно дату расчленить.


 
Link   (2002-06-19 12:35) [10]

Ребят, а чё у меня, когда создаю MSSQL таблицу, пишется, что alias не того типа. Тут что по-особому надо имя придумывать?


 
MOA   (2002-06-19 12:42) [11]

Если Вы Все же работаете с MSSQL и только начали проект - IMHO, лучше ADO.
А кто говорит про тип? Что именно говорит? Как именно Вы создаёте таблицу?


 
Link   (2002-06-19 13:04) [12]

Существует программа на SQL и меня попросили написать к ней приложение на Delphi. Самой базы у меня нет, мы не успели её скачать. Но я сделал схожую базу в Paradox. И выясняется, что запросы соответствуют MSSQL. Я попробовал сделать такую же базу в MSSQL, а Database Desktop говорит, что Chosen alias is not of type MSSQL.


 
fnatali ©   (2002-06-19 13:12) [13]

>Link (19.06.02 13:04)
Дело в том, что синтаксис SQL для разных СУБД несколько отличается. И запрос, написанный для MSSQL не обязательно будет работать для Paradox.


 
VAleksey ©   (2002-06-19 13:26) [14]

Local SQL понимает вложенные запросы.
в Local SQL ЕСТЬ функция которая может расщепить дату. И вообще см. LocalSQL.hlp


 
MOA   (2002-06-19 13:58) [15]

2Link: Когда создаете алиас на MSSQL (через БДЕ) скажите тип драйвера MSSQL. В именах - ничего особенного.
Однако, если Вам нужно просто записать таблицы Paradox в MSSQL, воспользуйтесь DTS - это проще. И не без пользы, если Вы будете работать с MSSQL.
И не забудьте поставить клиента!
А запросы - похожи, но не настолько. Такие - да (ну, datepart не в счет). Но очень многое по-другому. Начиная с идеологии построения системы и заканчивая более развитым языком запросов.
Удачи!



Страницы: 1 вся ветка

Текущий архив: 2002.07.15;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.022 c
4-47872
NetHead
2002-05-13 00:27
2002.07.15
Как скрыть курсор?


6-47658
SemFLY
2002-04-29 18:07
2002.07.15
Анонимная отправка почты


3-47093
Ал
2002-06-20 09:00
2002.07.15
DateTime


1-47327
Алибаба
2002-07-01 11:55
2002.07.15
Интерфейс


1-47407
Бен
2002-07-01 17:12
2002.07.15
Как в фастрепорте определить расход бумаги при печати?