Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.04.2002, 09:58
|
|||
|---|---|---|---|
|
|||
Помогите с формированием запроса! |
|||
|
#18+
Запрос таков: --@n - это входная инт переменная для хранимой процедуры. SELECT SurName+' '+S.Name, SUM(Summ), SUM(Moduls.PagePart), (SELECT COUNT(NumberID) FROM ReklamaInMagazinsList RIM WHERE RIM.ReklamaID=R.ReclamID) FROM reklama R LEFT JOIN staff S ON S.PersonID=R.PersonID LEFT JOIN PaymentsList Pl ON Pl.ReklamaID=R.ReclamID LEFT JOIN Payments P ON P.PaymentID=Pl.PaymentID LEFT JOIN ReklamaInMagazinsList Rl ON Rl.ReklamaID=R.ReclamID LEFT JOIN Moduls ON Moduls.ModulID=R.ModuleID WHERE R.RecTypeID IN (1,2) AND R.RubricID IN (SELECT RubrikaID FROM Rubriks WHERE Oblogka!=1 AND Vkladka!=1) AND Rl.NumberID=@n GROUP BY SurName,S.Name Суть запроса в том, чтобы получить такой набор данных: ФИ Общая сум. Площадь Сумма за номер Иванов Иван 40000.00 1.25 4000.00 Петров Петр 50000.00 1.45 5000.00 Но вот третья строка запроса вызывает проблемы. Без нее запрос формирует сумму всех счетов на все заказы данного пользователя, но каждый заказ, помимо нескольких счетов, содержит еще и несколько номеров, на которые он идет... И вот вычислить сумму за один (несколько) определенный номер не получается, хотя вроде бы и просто достигается делением каунта... Ругается он на R.ReclamID, что она не аггрегатная, но если я ее введу в Group By, то и юзверы у меня не будут групповаться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2002, 06:44
|
|||
|---|---|---|---|
|
|||
Помогите с формированием запроса! |
|||
|
#18+
SELECT SurName+' '+S.Name, SUM(Summ), SUM(Moduls.PagePart), MAX(CNID) --Можно любую ф-ю FROM reklama R left join (SELECT ReklamaID RID, COUNT(NumberID) CNID FROM ReklamaInMagazinsList) RIM on R.ReclamID=RIM.RID LEFT JOIN staff S ON S.PersonID=R.PersonID LEFT JOIN PaymentsList Pl ON Pl.ReklamaID=R.ReclamID LEFT JOIN Payments P ON P.PaymentID=Pl.PaymentID LEFT JOIN ReklamaInMagazinsList Rl ON Rl.ReklamaID=R.ReclamID LEFT JOIN Moduls ON Moduls.ModulID=R.ModuleID WHERE R.RecTypeID IN (1,2) AND R.RubricID IN (SELECT RubrikaID FROM Rubriks WHERE Oblogka!=1 AND Vkladka!=1) AND Rl.NumberID=@n GROUP BY SurName,S.Name /*Кстати, а зачем так мучиться с подзапросом? Почему не присоединить ReklamaInMagazinsList обычным Join-ом и не поставить ей агрегат COUNT() в селекте? */ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1823227]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 272ms |
| total: | 398ms |

| 0 / 0 |
