Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.067 c
1-47324
XShura
2002-07-01 12:31
2002.07.15
Мерцание ListView


1-47305
angelcom
2002-07-01 03:17
2002.07.15
Господа!!! Помогите новичку, плз...


3-47197
GrEG
2002-06-11 09:30
2002.07.15
Ограничение на длину индексируемого поля DBASE


3-47105
jaric
2002-06-20 19:34
2002.07.15
Как переиндексировать dbf таблицу?


4-47890
mari_ra
2002-05-15 10:44
2002.07.15
Как создать и заполнить EMF?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский