Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите, В чем ошибка? 
V
    Опции темы
Liandra
Дата 22.10.2007, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 2.10.2007

Репутация: нет
Всего: нет



Помогите, никак не могу найти, где ошибка у меня.(

Код

select  Customers.CompanyName,  Orders.OrderDate, SUM([Order Details].UnitPrice * [Order Details].Quantity) AS Amount, Employees.FirstName, IsNull(Customers.Region, 'нет данных') as 'регион' 
from   Employees, Orders 
INNER JOIN
                      [Order Details] ON Orders.OrderID = [Order Details].OrderID,
INNER JOIN
                      Customers ON Orders.CustomerID = Customers.CustomerID
where 
OrderDate BETWEEN ('1996-07-07') AND ('1996-12-23')
order BY OrderDate
;

PM MAIL   Вверх
Servena
Дата 22.10.2007, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 24.7.2007
Где: Днепропетровск

Репутация: 10
Всего: 14



Лиандра, приведи текст задания, а то невозможно понять что ты делаешь.
Ошибки: 
1. .OrderID, INNER - здесь запятая не нужна.
2. Если используешь агрегирующие функции(типа СУМ), то нужно использовать перед ОРДЕР БАЙ выражение GROUP BY.

Жду текста условия.

Добавлено через 3 минуты и 22 секунды
А, и еще
Код

from   Employees, Orders 
 - это перекрестное соединение (старый синтаксис), наверное, а скорее всего точно, здесь не нужен.
PM MAIL   Вверх
Liandra
Дата 22.10.2007, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 2.10.2007

Репутация: нет
Всего: нет



Текстова это так)
"Сделать выборку: Клиент, регион клиента, менеджер, дата заказа, сумма заказа. За выбронный период. Если Штат не указан - написать "нет данных""

У меня она работала, но мне сказали что там надо добавить связи и оператор суммы. Вот теперь не работает(

Это сообщение отредактировал(а) Liandra - 22.10.2007, 14:44
PM MAIL   Вверх
Servena
Дата 22.10.2007, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 24.7.2007
Где: Днепропетровск

Репутация: 10
Всего: 14



Давай сначала разберемся с соединениями:
Код

SELECT Customers.CompanyName, Customers.Region, Employees.FirstName+' '+Employees.LastName AS Менеджер, [Order Details].UnitPrice
FROM Orders 
    INNER JOIN Customers 
        ON Orders.CustomerID = Customers.CustomerID 
    INNER JOIN Employees 
        ON Orders.EmployeeID = Employees.EmployeeID 
    INNER JOIN [Order Details] 
        ON Orders.OrderID = [Order Details].OrderID


Безо всяких там пересечений таблиц, только внутренние соединения.

Добавлено через 7 минут и 13 секунд
Теперь, чтобы использовать агрегирующие функции, например, SUM, нам нужно сделать группировку:
Код

SELECT Customers.CompanyName, Customers.Region, Employees.FirstName+' '+Employees.LastName AS Менеджер, SUM([Order Details].UnitPrice*[Order Details].Quantity)
FROM Orders 
    INNER JOIN Customers 
        ON Orders.CustomerID = Customers.CustomerID 
    INNER JOIN Employees 
        ON Orders.EmployeeID = Employees.EmployeeID 
    INNER JOIN [Order Details] 
        ON Orders.OrderID = [Order Details].OrderID
GROUP BY Customers.CompanyName, Customers.Region, Employees.FirstName+' '+Employees.LastName
 

Теперь все, за исключением того, что в WHERE вставь условие по дате, добавь отображение даты в СЕЛЕКТ и ГРУП БАЙ, и учти скидки.
PM MAIL   Вверх
Liandra
Дата 22.10.2007, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 2.10.2007

Репутация: нет
Всего: нет



Servena
Ты стал последнее время мне, как спаситель))) Спасибо)
PM MAIL   Вверх
Servena
Дата 22.10.2007, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 24.7.2007
Где: Днепропетровск

Репутация: 10
Всего: 14



ОК, спасибо.
Не забывай, если тебя удовлетворил ответ - поставь галочку, что тема закончена. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0704 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.