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

Откуда:
Сообщений: 8
нужно вычислить сумму записей одного поля заданного клиента, с условием p.p_id = ps.ps_p_id

Мои попытки:
вариант1: select sum(p.p_price) from client c, price p, provided_services ps
where c.client_id = :client_id_ and p.p_id = ps.ps_p_id

вариант2:
select sum(p.p_price) from client c, price p, provided_services ps
where = (select c.client_id, p.p_id from client c, price p c.client_id = :client_id_ and p.p_id = ps.ps_p_id)
вариант3:
select sum(p_price) from price,provided_services
inner join price ON p_id = Provided_services.PS_p_id
inner join Client ON Client_id = 4

зы :client_id_ - заданный номер клиента

В результате вычисляется неправильное значение такого вида 32685, 48135 и т.д, на самом деле должно не больше 10000, судя по данным в таблице

К сообщению приложен файл. Размер - 22Kb
29 ноя 12, 16:59    [13551160]     Ответить | Цитировать Сообщить модератору
 Re: вычислить сумму цен по заданному клиенту  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
define_,

у Вас неправильное представление о JOINах.
В варианте 3 декартовы произведения что делают?

Для начала забываем о запятой во FROMе, и уж во всяком случае не смешиваем её с JOINами
29 ноя 12, 17:04    [13551220]     Ответить | Цитировать Сообщить модератору
 Re: вычислить сумму цен по заданному клиенту  [new]
Гость333
Member

Откуда:
Сообщений: 3683
define_,

select sum(p.p_price) from price p, provided_services ps
where ps.client_id = :client_id_ and p.p_id = ps.ps_p_id
29 ноя 12, 17:06    [13551242]     Ответить | Цитировать Сообщить модератору
 Re: вычислить сумму цен по заданному клиенту  [new]
define_
Member

Откуда:
Сообщений: 8
Гость333
define_,

select sum(p.p_price) from price p, provided_services ps
where ps.client_id = :client_id_ and p.p_id = ps.ps_p_id

спасибо, реально запутался уже)
29 ноя 12, 17:39    [13551642]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить