
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
25.03.2004, 11:31
|
|||
|---|---|---|---|
|
|||
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
Добрый день! Помогите мне пожалуйста! Очень надо решить такую задачу. Имеется некий банк с филиалами. Клиент может иметь несколько счетов, при этом они могут быть размещены как в одном , так и в разных филиалах банка находящихся в разных районах.Каждый клиент , в соответствии со своим счетом, может рассчитывать на некотрый кредит банка. При анализе предметной области были выявлены следующие атрибуты: Я создал три таблицы и связал их. Таблицы "Клиент" и "Филиалы" связаны отношением многие ко многим через промежуточную таблицу (с внешними ключами) клиентов. Вот состав полей "Клиент" КодКлиента /PrimaryKey/ ФИО "Филиал" НомерФилиала /PrimaryKey/ "Клиент" НомерСчета /PrimaryKey/ Остаток Кредит КодКлиента /ForeignKey/ связь с таблицей клиентов НомерФлиала / ForeignKey/ связь с таблицей филиалов Вот заковырка. Необходимо используя запросы вывести ФИО клиентов которые имеют счета во всех филиалах. Например Иванов имеет счета в филиале1, филиале2 и филиале3. Петров имеет счета только в первом филиале и втором Запрос должен вернуть только код и ФИО Петрова, т.к. у него счета во всех филиалах. Ребята , помогите. Могу выслать копию базы на мыло, тому кому стало интересно. Спасибо вам заранее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 11:46
|
|||
|---|---|---|---|
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
>Например Иванов имеет счета в филиале1, филиале2 и филиале3. Петров имеет счета только в первом филиале и втором >Запрос должен вернуть только код и ФИО Петрова, т.к. у него счета во всех >филиалах. Может все-таки запрос должен вернуть ФИО Иванова скинь на registration2005@mail.ru Пороюсь можь чо получиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 11:51
|
|||
|---|---|---|---|
|
|||
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
Ну пусть ФИО Иванова. Посмотри базу и поймешь . Спасибо что откликнулся! Скидываю на указанное мыло базу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 12:01
|
|||
|---|---|---|---|
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
если реальные счета банковских карт с их номерами то и мне скинь )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 12:02
|
|||
|---|---|---|---|
|
|||
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
Что-то вроде этого Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 12:12
|
|||
|---|---|---|---|
|
|||
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
Виктору. Попробовал,спасибо. Ругается на вот это место в запросе => ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 12:16
|
|||
|---|---|---|---|
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
конкретно для твоей mdb создал еще один запрос SELECT DISTINCT [ФИО] FROM Запрос1 WHERE [ФИО] In (SELECT [ФИО] FROM [Запрос1] As Tmp GROUP BY [ФИО] HAVING Count(*)= (SELECT count(Филиал.НомерФилиала) FROM Филиал) ) ORDER BY [ФИО]; вроде работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 12:17
|
|||
|---|---|---|---|
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
Мда, честно говоря тоже не просек, мож поподробнее, это как понимать: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 12:20
|
|||
|---|---|---|---|
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
если у тебя не работает могу скинуть саму .mdb ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 12:23
|
|||
|---|---|---|---|
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
=> такого нет можно так >= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 12:27
|
|||
|---|---|---|---|
|
|||
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
Спасибо заработало. Есть! Hm Ты просто молодец . спасибо , работает. Правда через запрос дополнительный . Но пойдет . Как без запроса "Запрос1" это сделать интересно? Нет слов , спасибо тебе. Виктору Может и твой вариант как то исправить? Вот еще это надо сделать и все. Сделать запросы. 1. Вывести клиентов, которые имеют по одному счету в разных филиалах банка 2. Вывести филиалы ,которые не имеют ни одного клиента 2. Вывести филиалы, которые имеют клиентов с остатком на счету 0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 12:33
|
|||
|---|---|---|---|
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
если хочешь тоже самое в одном запросе, то вот SELECT DISTINCT [ФИО] FROM (SELECT DISTINCTROW Клиент.ФИО, СчетКлиента.НомерФилиала FROM Филиал INNER JOIN (Клиент INNER JOIN СчетКлиента ON Клиент.КодКлиента = СчетКлиента.КодКлиента) ON Филиал.НомерФилиала = СчетКлиента.НомерФилиала) WHERE [ФИО] In (SELECT [ФИО] FROM [Запрос1] As Tmp GROUP BY [ФИО] HAVING Count(*)= (SELECT count(Филиал.НомерФилиала) FROM Филиал) ) ORDER BY [ФИО]; ЗЫ: вот только еще не успел подумать как это хозяйство будет работать, если у одного клиента в одном филиале больше одного счета ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 12:40
|
|||
|---|---|---|---|
|
|||
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
То что нужно , только все равно запрос "Запрос1 " используется. ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 13:05
|
|||
|---|---|---|---|
|
|||
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
=> такого нет можно так >= Ну быфает, ну исфините :) Мда, честно говоря тоже не просек, мож поподробнее, это как понимать: Очень просто: так как группировка по Коду клиента и коду филиала, то Count вернет кол-во записей филиалов в которых есть данный клиент. И сравниваем с кол-вом самих филиалов (Select COUNT(*) FROM Филиал). >= нужно если в 1 филиале несколько счетов одного клиента. Сам запрос не проверял - но вроде логика вроде правильная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 13:13
|
|||
|---|---|---|---|
|
|||
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
Ребята спасибо, через пару часов вернусь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 13:35
|
|||
|---|---|---|---|
|
|||
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
А просто через Декартово произведение? Код: plaintext 1. 2. 3. 4. 5. 6. 7. и, соответсвенно: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. - те, которые имеют во всех. (Вот токо про быстродействие не сабражу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 14:01
|
|||
|---|---|---|---|
|
|||
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
2 Senin Viktor ваш запрос не прокатит, ИМХО (даже с правкой ситаксиса). Ибо надо СНАЧАЛА сделать группировку и по клиенту и филиалу, ПОТОМ (от него) еще раз сделать группировку только по клиенту и посчитать каунт (разных) филиалов (по клиенту). Иначе либо получите число счетов в данном филиале (группировка по филиалу в конечном запросе), либо число счетов всего (если выкинете группировку по филиалу в конечном) и если допустимо иметь несколько счетов в одном филиале - получите ошибку). по крайней мере в 97 : Count()Хотя аргумент выражение допускает выполнение вычислений над полем, функция Count возвращает просто количество записей, независимо от того, какие данные содержатся в этих записях. Функция Count не подсчитывает записи со значениями Null, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 14:48
|
|||
|---|---|---|---|
|
|||
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
Ты прав :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 15:13
|
|||
|---|---|---|---|
|
|||
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
Цены вам нет господа Монстры. Покатило , через декартово. Спасибо. Работает! Осталось только это. 1. Вывести клиентов, которые имеют по одному счету в разных филиалах банка 2. Вывести филиалы ,которые не имеют ни одного клиента 2. Вывести филиалы, которые имеют клиентов с остатком на счету 0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 15:37
|
|||
|---|---|---|---|
|
|||
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
Монстры убежали кушать базы Ребята. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 15:53
|
|||
|---|---|---|---|
|
|||
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
Сделал это: Вывести филиалы, которые имеют клиентов с остатком на счету 0. SELECT DISTINCTROW СчетКлиента.НомерФилиала FROM Филиал INNER JOIN СчетКлиента ON Филиал.НомерФилиала = СчетКлиента.НомерФилиала GROUP BY СчетКлиента.НомерФилиала, СчетКлиента.Остаток HAVING (((СчетКлиента.Остаток)=0)); Осталось как вывести клиентов, которые имеют по одному счету в разных филиалах банка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.03.2004, 08:56
|
|||
|---|---|---|---|
|
|||
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
Наступил последний день... 1. Вывести клиентов, которые имеют по одному счету в разных филиалах банка 2. Вывести филиалы ,которые не имеют ни одного клиента ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.03.2004, 11:05
|
|||
|---|---|---|---|
|
|||
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
Если не заботиться об оптимальности, то: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. и Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.03.2004, 14:24
|
|||
|---|---|---|---|
|
|||
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
Спасибо.Со вторым разобрался , а спервым не выходит.Не возвращает записей запрос.Хотя скажем у Иванова один счет в филиале1, один счет в филиале2, вот его фио и код должно вылезти. Осталось только это сделать, все остальное с вашей помощью сделал. Спасибо. Что не так в запросе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.03.2004, 14:34
|
|||
|---|---|---|---|
Ребята! Монстры аксеса помогите!!! Надо запрос сделать очень мудреный! Я незнаю как... |
|||
|
#18+
автор 1. Вывести клиентов, которые имеют по одному счету в разных филиалах банка имеется в виду что обязятельно в каждом филиале банка должен быть ровно один счет клиента? или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=45&mobile=1&tid=1675716]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
149ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 412ms |

| 0 / 0 |
