
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
29.05.2001, 07:37
|
|||
|---|---|---|---|
Пришел в тупик с соотношением многие-ко-многим |
|||
|
#18+
Наверное, многие из вас писали запросы типа платежной ведомости рекламным агентам и так далее... И я тоже... но вот сегодня я в полном осадке . Суть проблемы в том, что менеджеры берутся из одной таблицы, с которой связана таблица заказов, выплаты же им считаются из таблицы счетов, которая связана с таблицей заказов промежуточной таблой... И, соответственно, при запросе вида SELECT SurName, Name, SUM(P.Summ) FROM Staff S INNER JOIN Reklama R ON R.PersonID=S.PersonID INNER JOIN PaymentsList L ON L.ReklamaID=R.ReclamID INNER JOIN Payments P ON P.PaymentID=L.PaymentID WHERE ... GROUP BY SurName, Name получается очень некрасивая ситуация - одни и те же счета, если в промежуточной таблице их идентификатор встречается несколько раз, точно так же повторяются... Как можно провести соединение таблиц, чтобы исключить повторение... DISTINCT, я так понимаю, не пройдет - сумма может оказаться одинаковой и у разных счетов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.05.2001, 09:13
|
|||
|---|---|---|---|
|
|||
Пришел в тупик с соотношением многие-ко-многим |
|||
|
#18+
А если так. Только проверить не на чем. SELECT S.SurName, S.Name, (SELECT SUM(P.Summ)FROM Payments P WHERE P.PaymentID IN (SELECT L.PaymentID FROM Reklama R INNER JOIN PaymentsList L ON L.ReklamaID=R.ReclamID WHERE R.PersonID=S.PersonID ) ) FROM Staff S ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.05.2001, 10:34
|
|||
|---|---|---|---|
Пришел в тупик с соотношением многие-ко-многим |
|||
|
#18+
2 Epanch Такой вариант хорош, но тоже не всем - добавляются лишние элементы в группировке, и сумма плавно превращается... плавно превращается... в общем, в несколько... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/search_topic.php?author=merle&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
173ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 710ms |
| total: | 1008ms |

| 0 / 0 |
