Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
16.10.2002, 15:40
|
|||
---|---|---|---|
|
|||
Объединение данных из разных таблиц в одну с подсчётом суммы |
|||
#18+
Помогите! Есть несколько таблиц, в каждой User name and User Punkte. Общее количество пунктов (Sum) для каждого USERa должно обновляться в одной общей таблице, которая также содержит User name and User Punkte. Как лучше сделать?! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.10.2002, 21:18
|
|||
---|---|---|---|
Объединение данных из разных таблиц в одну с подсчётом суммы |
|||
#18+
запрос на обьединение?....с групировкой=) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2002, 13:58
|
|||
---|---|---|---|
|
|||
Объединение данных из разных таблиц в одну с подсчётом суммы |
|||
#18+
Да, группировка с объединением. Есть 34 таблицы, куда пользователи вносят свои данные, эти данные затем мной оцениваются пунктами. За правильный ответ столько-то и т.д. Есть таблица общая, где собраны все USERы с их данными и общим количеством пунктов для каждого . Общее количество пунктов насчитывается по 34 таблицам. Основная трудность в том, что если имя USERa не встречается хотя бы в одной из 4 таблиц, выдаётся ответ, что такого USERa нет. Что-то я делаю не так. Понятно, если такого имени в одной из таблиц нет, то при подсчёте этo должно приниматься за ноль, но как это отобразить в SQL-запросе? Я ещё не имею достаточного опыта, поэтому BITTE помогите! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2002, 15:17
|
|||
---|---|---|---|
Объединение данных из разных таблиц в одну с подсчётом суммы |
|||
#18+
Если разбираешься в SQL то вместо Код: plaintext 1. 2. 3. 4. 5.
Код: plaintext 1. 2. 3. 4.
А если просто в Access. Надо в самом запросе нажать на связь между таблицами и в параметрах поменять отношение "ОДИН к ОДНОМУ" на "ОДИН к МНОГИМ" ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2002, 17:18
|
|||
---|---|---|---|
|
|||
Объединение данных из разных таблиц в одну с подсчётом суммы |
|||
#18+
Спасибо за ответ, но примерно по тaкой схеме я и писала: Код: plaintext 1. 2. 3.
В ответе содержатся только те USERы, которые участвовали, а если один участвовал в один день (table-spiel8), a не участвовал в другой день (table-spiel9), то он не включается в список выборки! Какие бы соединения я ни создавала, как бы ни меняла SQL-запрос - ответ один. Я работаю только с SQL-Server 7.0; 2000, а теперь не мoгу справиться с Access 97! А когда я в окне SQL-запроса пытаюсь вставить вместо INNER Join - LEFT Join, он мне отвечает что не поддерживает это объединение! (Access - немецкий, как перевести точнее не знаю.) Но чего-то явно не хватает... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2002, 17:23
|
|||
---|---|---|---|
Объединение данных из разных таблиц в одну с подсчётом суммы |
|||
#18+
Определенно, попробуй графически поставить связи один ко многим! А там посмотрим, как надо писать правильно! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2002, 17:32
|
|||
---|---|---|---|
Объединение данных из разных таблиц в одну с подсчётом суммы |
|||
#18+
Вот что у меня получилось по быстрому! Код: plaintext 1.
При этом он выбрал все из TBL_USER и к ним совпадающие записи из TBL_1 и TBL_2 по ключу us_id . А если такой записи нет - выводил в поле значение NULL ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2002, 17:53
|
|||
---|---|---|---|
|
|||
Объединение данных из разных таблиц в одну с подсчётом суммы |
|||
#18+
Огромное спасибо!!! Когда установила, как ты сказал, вcё пошло! Ну не знаю я Access! А можно теперь как-то включить сюда запрос на автоматическое обновление суммы пунктов в таблице Users? Или это невозможно в Access? Благодарю! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2002, 17:56
|
|||
---|---|---|---|
Объединение данных из разных таблиц в одну с подсчётом суммы |
|||
#18+
Не не выйдет помоему! Он можел либj SELECT либо UPDATE! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2002, 18:07
|
|||
---|---|---|---|
|
|||
Объединение данных из разных таблиц в одну с подсчётом суммы |
|||
#18+
Очень жаль, SQL-Server делает такое с помощью хранимых процедур, но если кто что знает буду очень признательна. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.10.2002, 10:59
|
|||
---|---|---|---|
Объединение данных из разных таблиц в одну с подсчётом суммы |
|||
#18+
Так на чем мы остановились? Запрос суммирующий данные из кучи таблиц готов? Осталось обновить данные в общей таблице? Если прямо сделать INNER JOIN общей с этим запросом и неписать Set общ.Puncte = запрос.Puncte не пройдет... Попробуйте вставить записи запроса в промежуточную таблицу (предварительно ее очищая или создавая ее только на время выполнения обновления), уже ее данными обнвляйте общую таблицу (а нужна ли общая? может эта промежуточная и выполнит роль общей?) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.10.2002, 11:34
|
|||
---|---|---|---|
|
|||
Объединение данных из разных таблиц в одну с подсчётом суммы |
|||
#18+
есть такая фраза: А знаете ли вы что? 1. в sql- серверах есть возможность использовать триггеры. триггер может при изменении данных в одной таблице выполнять обновления в другой. (например обновлять таблицу со статистикой) 2. в комплекте офиса 2000 и выше прилагается SQL - сервер для win98 - MSDE 3. аксесс замечательно с ним работает. хотя это совсем не по теме, и наверное никому не интересно .. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=45&tablet=1&tid=1683116]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 172ms |
0 / 0 |