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

Откуда:
Сообщений: 23
Есть запрос , который собирает две очень похожие строки , и мне сказали ,что их можно очень упростить, не могли бы подсказать как это сделать ?

(select SUM(w.price)
 FROM estimate as es
 INNER JOIN dbo.service s ON s.service_ID = es.service_ID
 INNER JOIN dbo.work w ON w.work_ID = s.work_ID
 where es.auto_ID = e.auto_ID AND es.payStatus_ID = 1 ) as "Сумма оплаченная клиентом",
 
(select SUM(w.price)
 FROM estimate as es
 INNER JOIN dbo.service s ON s.service_ID = es.service_ID
 INNER JOIN dbo.work w ON w.work_ID = s.work_ID
 where es.auto_ID = e.auto_ID AND es.payStatus_ID = 2 ) as "Сумма не оплаченная клиентом",
21 дек 16, 23:28    [20034483]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
iljy
Member

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

select SUM(case es.payStatus_ID when 1 then w.price else 0 end),
         SUM(case es.payStatus_ID when 2 then w.price else 0 end)
 FROM estimate as es
 INNER JOIN dbo.service s ON s.service_ID = es.service_ID
 INNER JOIN dbo.work w ON w.work_ID = s.work_ID
 where es.auto_ID = e.auto_ID
21 дек 16, 23:32    [20034504]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
londinium
Member

Откуда: Киев
Сообщений: 1199
(select SUM(w.price)
 FROM estimate as es
 INNER JOIN dbo.service s ON s.service_ID = es.service_ID
 INNER JOIN dbo.work w ON w.work_ID = s.work_ID
 where es.auto_ID = e.auto_ID AND es.payStatus_ID = 1 ) 

where es.auto_ID = e.auto_ID

а кто здесь Е?
21 дек 16, 23:33    [20034510]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
ba3uk
Member

Откуда:
Сообщений: 23
londinium, е - другая таблица , из основного запроса )
21 дек 16, 23:42    [20034547]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
ba3uk
Member

Откуда:
Сообщений: 23
iljy,Спасибо , очень признателен , вы лучшие )
21 дек 16, 23:43    [20034552]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить