Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Вопрос - не работает запрос  [new]
Петров Андрей
Member

Откуда: Химки МО
Сообщений: 1248
Пишу запрос :
SELECT [Order].[Code], [Order].[DateIn], [Customer].[Name], SUM([OrderPos].[StemsCount]) as SumStemsCount, SUM([OrderPos].[BoxCount]) as SumBoxCount
FROM [Order], [OrderPos], [Customer]
WHERE ([Shipment_Id]=10) AND ([Order].[Order_Id]=[OrderPos].[Order_Id]) AND ([Customer].[Customer_Id]=[Order].[Customer_Id])
ORDER BY [OrderPos].[PosNum]
GROUP BY [Order].[Order_Id]

А Access мине говорит : Попытка выполнить запрос, который не включает указанное выражение 'Code' как часть статической функции или группы.

Чего за нафиг?

И еще есть ли в Access функция возвращающая номер строки в запросе - в VFP это RecNo()

Те как написать
SELECT RecNo() As Number ...
19 сен 04, 15:39    [970986]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Петров Андрей
Member

Откуда: Химки МО
Сообщений: 1248
И еще все поля есть в таблицах - проверял...
19 сен 04, 15:40    [970988]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Rivkin Dmitry
Member

Откуда: Israel
Сообщений: 5500
Имя таблицы "Order" - очень и очень не подходящее! Попробуй изменить его.
Вообще, очень осторожно надо давать имена объектам. Стараться не использовать хранимые имена!
19 сен 04, 15:48    [970994]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Петров Андрей
Member

Откуда: Химки МО
Сообщений: 1248
Так для этого и вскобках поставил []
19 сен 04, 15:57    [970999]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Serge Gavrilov
Member

Откуда:
Сообщений: 3248
Петров Андрей

...
А Access мине говорит : Попытка выполнить запрос, который не включает указанное выражение 'Code' как часть статической функции или группы.

Чего за нафиг?
...

Читайте Help:

При использовании предложения GROUP BY все поля в списке полей инструкции SELECT должны быть либо включены в предложение GROUP BY, либо использоваться в качестве аргументов статистической функции SQL.
автор
И еще есть ли в Access функция возвращающая номер строки в запросе - в VFP это RecNo()

Нет
19 сен 04, 16:02    [971002]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Ну дык понятно же все. С полем Code что нужно делать? Если в группе оно в разных записях разное, то какое из значений показывать?
19 сен 04, 16:03    [971004]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Петров Андрей
Member

Откуда: Химки МО
Сообщений: 1248
Чего то я не понял:
1) Включать все поля в группировку - это извините совсем нанадо :-)
2) Убирать их чегото совсем не хочется...
3) Делать через несколько запросов тем более...

Может я чего не понимаю в SQL. Как сделать чтоб заработал запрос? Я в Access не особо :-(
19 сен 04, 16:08    [971006]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Петров Андрей
Member

Откуда: Химки МО
Сообщений: 1248
Дык дело то все в том что оно ОДНО. Группируем то по первичному ключу Order_Id
19 сен 04, 16:10    [971009]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Если оно одно, то можно сделать что угодно: либо добавить его в группировку, либо приписать к нему в качестве функции First.
19 сен 04, 16:12    [971011]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Serge Gavrilov
Member

Откуда:
Сообщений: 3248
Петров Андрей
Чего то я не понял:
1) Включать все поля в группировку - это извините совсем нанадо :-)

Не надо, уберите поле
Петров Андрей

2) Убирать их чегото совсем не хочется...

Надо - включите в группировку или используйте статистическую функцию
Петров Андрей

3) Делать через несколько запросов тем более...

Это не предлагалось
Петров Андрей

Может я чего не понимаю в SQL. Как сделать чтоб заработал запрос? Я в Access не особо :-(

Я не знаю схемы данных, вы включили три таблицы и не показали никакого объединения
19 сен 04, 16:20    [971018]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Петров Андрей
Member

Откуда: Химки МО
Сообщений: 1248
Оки добавил. Точнее заменил. А чего делать с другими полями? ([Order].[Date], [Customer].[Name])

SELECT [Order].[Code], SUM([OrderPos].[StemsCount]) as SumStemsCount, SUM([OrderPos].[BoxCount]) as SumBoxCount, [Order].[Date], [Customer].[Name]
FROM [Order], [OrderPos], [Customer]
WHERE ([Shipment_Id]=10) AND ([Order].[Order_Id]=[OrderPos].[Order_Id]) AND ([Customer].[Customer_Id]=[Order].[Customer_Id])
GROUP BY [Order].[Code]
ORDER BY [Order].[Code]

Может их тоже в группировку засунуть?! (риторический вопрос) Но уж очень это неестественно... И кстати как насчет RecNo? Неужто нету таковой? Неверю ...
19 сен 04, 16:22    [971019]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Петров Андрей
Member

Откуда: Химки МО
Сообщений: 1248
2 Serge Gavrilov

Включать в статистические функции мы не умеем :-) Ето как?

С группировкой проходит :-(
19 сен 04, 16:25    [971020]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Serge Gavrilov
Member

Откуда:
Сообщений: 3248
Петров Андрей
Оки добавил. Точнее заменил. А чего делать с другими полями? ([Order].[Date], [Customer].[Name])

SELECT [Order].[Code], SUM([OrderPos].[StemsCount]) as SumStemsCount, SUM([OrderPos].[BoxCount]) as SumBoxCount, [Order].[Date], [Customer].[Name]
FROM [Order], [OrderPos], [Customer]
WHERE ([Shipment_Id]=10) AND ([Order].[Order_Id]=[OrderPos].[Order_Id]) AND ([Customer].[Customer_Id]=[Order].[Customer_Id])
GROUP BY [Order].[Code]
ORDER BY [Order].[Code]

Может их тоже в группировку засунуть?! (риторический вопрос) Но уж очень это неестественно... И кстати как насчет RecNo? Неужто нету таковой? Неверю ...


Я же вам привел фразу из Help!
А мне кажется неестественным, то как вы пытаетесь делать ...
Надо просто делать как надо :)
19 сен 04, 16:26    [971021]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
(c)VIG
Member

Откуда:
Сообщений: 1507
автор
Я не знаю схемы данных, вы включили три таблицы и не показали никакого объединения

При всем уважении к Serge Gavrilov не могу согласиться
FROM [Order], [OrderPos], [Customer]
WHERE ([Shipment_Id]=10) AND ([Order].[Order_Id]=[OrderPos].[Order_Id]) AND ([Customer].[Customer_Id]=[Order].[Customer_Id])

хотя лучше делать конечно же через INNER JOIN
19 сен 04, 16:28    [971023]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Петров Андрей
Member

Откуда: Химки МО
Сообщений: 1248
Схема простенькая...

К сообщению приложен файл. Размер - 0Kb
19 сен 04, 16:28    [971024]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Serge Gavrilov
Member

Откуда:
Сообщений: 3248
Петров Андрей
2 Serge Gavrilov
Включать в статистические функции мы не умеем :-) Ето как?

Sum же используете, другой пример привел ВС - First.
Все они видны в конструкторе запросов..
19 сен 04, 16:30    [971025]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
(c)VIG
Member

Откуда:
Сообщений: 1507
GROUP BY [Order].[Code], [Order].[DateIn], [Customer].[Name]
и всех делов
19 сен 04, 16:30    [971027]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Serge Gavrilov
Member

Откуда:
Сообщений: 3248
(c)VIG
автор
Я не знаю схемы данных, вы включили три таблицы и не показали никакого объединения

При всем уважении к Serge Gavrilov не могу согласиться
FROM [Order], [OrderPos], [Customer]
WHERE ([Shipment_Id]=10) AND ([Order].[Order_Id]=[OrderPos].[Order_Id]) AND ([Customer].[Customer_Id]=[Order].[Customer_Id])

хотя лучше делать конечно же через INNER JOIN

да я видел, просто вредничал ...:)
19 сен 04, 16:33    [971029]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Петров Андрей
Member

Откуда: Химки МО
Сообщений: 1248
Так ребяты - давайте не ссориться. Вопрос был не по тому как делать (Join vs Where) а по тому почему не работает запрос...

Уж извините привычка...
19 сен 04, 16:35    [971031]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
(c)VIG
Member

Откуда:
Сообщений: 1507
автор
да я видел, просто вредничал ...:)

Тоди-ой! :)
19 сен 04, 16:35    [971032]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Петров Андрей
Member

Откуда: Химки МО
Сообщений: 1248
GROUP BY [Order].[Code], [Order].[DateIn], [Customer].[Name]

Да так и сделал. Просто коробит от группировки по 3 полям - когда нужна реально по одному...
19 сен 04, 16:36    [971033]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Serge Gavrilov
Member

Откуда:
Сообщений: 3248
Петров Андрей
Так ребяты - давайте не ссориться. Вопрос был не по тому как делать (Join vs Where) а по тому почему не работает запрос...

Уж извините привычка...


дык, ведь работает с Group By или нет?
19 сен 04, 16:38    [971035]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
А насчет номера записи во:
https://www.sql.ru/faq/faq_topic.aspx?fid=214
вопрос 7.
19 сен 04, 16:42    [971036]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
(c)VIG
Member

Откуда:
Сообщений: 1507
автор
Просто коробит от группировки по 3 полям - когда нужна реально по одному

Пиши жалобу авторам стандарта :) , или переделывай запрос.
19 сен 04, 16:46    [971037]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос - не работает запрос  [new]
Петров Андрей
Member

Откуда: Химки МО
Сообщений: 1248
Пасибо... Вроде разобрался. Вариант с First наверное лучше...
19 сен 04, 16:46    [971038]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить