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

Откуда: Украина
Сообщений: 51
Здравствуйте. Прошу помощи.
Появилась у меня задачка, опишу кратко: написать запрос, формирующий НД о поступлениях денежных средств от заказчиков за каждый день месяца.
В результате получился такой монстр, выполняющий задуманное,- текст я привел ниже. Однако он формирует фиксированное число столбцов.
Вопрос: что нужно сделать, чтобы исключить из конечного НД пустые столбцы?


SELECT MAX(dbo.[ORGAN ZAK].[NAME ORG]) as Nameorg,SUM( dbo.MESPLANDENGI.SUMMES) as summes,

col1=sum(case when day(postdengi.datapost)=1 then postdengi.dengi end),
col2=Sum(case when day(postdengi.datapost)=2 then postdengi.dengi end),

... ... ...

col31=Sum(case when day(postdengi.datapost)=31 then postdengi.dengi end),

itogo= Sum(dengi),
procentpl=sum(dengi)*100/sum(summes),
saldo=sum(dengi)-sum(summes)

FROM dbo.[ORGAN ZAK] INNER JOIN
dbo.POSTDENGI ON dbo.[ORGAN ZAK].[KOD ORG] = dbo.POSTDENGI.KODORG INNER JOIN
dbo.MESPLANDENGI ON dbo.[ORGAN ZAK].[KOD ORG] = dbo.MESPLANDENGI.KODORG AND MONTH(dbo.POSTDENGI.DATAPOST)
= dbo.MESPLANDENGI.KODMES AND YEAR(dbo.POSTDENGI.DATAPOST) = dbo.MESPLANDENGI.GOD
GROUP BY [KOD ORG]
order by summes desc
13 янв 04, 14:02    [489389]     Ответить | Цитировать Сообщить модератору
 Re: Помогите правильно написать запрос  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37100
А зачем их исключать?
13 янв 04, 14:14    [489418]     Ответить | Цитировать Сообщить модератору
 Re: Помогите правильно написать запрос  [new]
Deniskov
Member

Откуда: Украина
Сообщений: 51
Есть стандартные принятые на предприятии бланки отчетов.
13 янв 04, 14:42    [489492]     Ответить | Цитировать Сообщить модератору
 Re: Помогите правильно написать запрос  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Одним запросом это неполучиться. Пишите хп, в которой создавайте временную таблицу и добавляйте в нее тока те столбцы, в которых есть данные.
13 янв 04, 14:46    [489502]     Ответить | Цитировать Сообщить модератору
 Re: Помогите правильно написать запрос  [new]
Deniskov
Member

Откуда: Украина
Сообщений: 51
Да, видимо так и поступлю. Нашел хорошую ссылку по теме на этом сайте.
Спасибо.
13 янв 04, 14:55    [489533]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить