Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Ошибка в запросе  [new]
hollo2017
Member

Откуда:
Сообщений: 13
Есть три таблицы
data_service!order = a,
data_service!client_service = b,
data_service!transport = c;

Нужно найти MIN(a.order_date_e-a.order_date_b) и вывести соответствующие ему b.name, c.name,
Таблицы b и a связаны ключами a.id_t=c.id_t AND a.id_c=b.id_c


Делаю так:
SELECT b.name, c.name, MIN(a.order_date_e-a.order_date_b) ;
 FROM data_service!order a, data_service!client_service b, data_service!transport c;
 WHERE a.id_t=c.id_t AND a.id_c=b.id_c GROUP BY b.name c.name


Но ошибка: command contains unrecognized phrase/keyword

Если убрать GROUP BY, то есть
SELECT b.name, c.name, a.order_date_e-a.order_date_b;
 FROM data_service!order a, data_service!client_service b, data_service!transport c;
 WHERE a.id_t=c.id_t AND b.id_c=a.id_c

То работает
6 ноя 18, 19:37    [21725797]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в запросе  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1427
hollo2017
GROUP BY b.name c.name

Но ошибка: command contains unrecognized phrase/keyword

Если убрать GROUP BY

То работает
Вы где такой синтаксис взяли? С каких пор разделителем выражений группировки стал пробел?
6 ноя 18, 21:11    [21725880]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в запросе  [new]
hollo2017
Member

Откуда:
Сообщений: 13
Sergey Sizov,

Пробовал и так, все равно ошибка остается
SELECT b.name, c.name, MIN(a.order_date_e-a.order_date_b) ;
 FROM data_service!order a, data_service!client_service b, data_service!transport c;
 WHERE a.id_t=c.id_t AND b.id_c=a.id_c;
 GROUP BY b.name c.name
6 ноя 18, 21:21    [21725885]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в запросе  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1427
hollo2017
Sergey Sizov,

Пробовал и так,
Так - это как?
все равно ошибка остается
Разумеется.
 GROUP BY b.name c.name
И где хоть одно отличие от исходного варианта?
6 ноя 18, 21:37    [21725892]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в запросе  [new]
hollo2017
Member

Откуда:
Сообщений: 13
Sergey Sizov,
Понял
SELECT b.name, c.name, MIN(a.order_date_e-a.order_date_b) ;
FROM data_service!order a, data_service!client_service b, data_service!transport c;
WHERE a.id_t=c.id_t AND b.id_c=a.id_c GROUP BY b.name, c.name

Но почему-то такой код выводит не только минимальный a.order_date_e-a.order_date_b, а еще и все остальные
6 ноя 18, 21:45    [21725897]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в запросе  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1427
hollo2017
Но почему-то такой код выводит не только минимальный a.order_date_e-a.order_date_b, а еще и все остальные
Думаете, мы тут все великие телепаты и можем заглянуть в ваш комп и посмотреть что там у вас есть и что получается? Что запросили, то и показывает. Если показывает не то, что хотелось, то, наверняка, запросили не то, что хотели.
6 ноя 18, 21:53    [21725901]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в запросе  [new]
Dima T
Member

Откуда:
Сообщений: 13672
hollo2017
Sergey Sizov,
Понял
SELECT b.name, c.name, MIN(a.order_date_e-a.order_date_b) ;
FROM data_service!order a, data_service!client_service b, data_service!transport c;
WHERE a.id_t=c.id_t AND b.id_c=a.id_c GROUP BY b.name, c.name

Но почему-то такой код выводит не только минимальный a.order_date_e-a.order_date_b, а еще и все остальные

Запрос выводит минимальный a.order_date_e-a.order_date_b для каждой пары b.name, c.name
7 ноя 18, 07:45    [21726070]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить