Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.05.2010, 13:14
Т@tali Т@tali вне форума
Прохожий
 
Регистрация: 20.02.2010
Сообщения: 20
Репутация: 10
По умолчанию Запросы по БД из 2 таблиц

Пожалуйста!!!!!Помогите кто нибудь с запросами. есть 2 таблицы.

R1(ФИО клиента, N филиала, N счета, Остаток),
R2(N филиала, Район)

Базу создала. Осталось запросы составить и в делфи кинуть все. Ну закинуть не проблемма.

А вот запросы не могу запросы составить.
a. Филиалы, клиенты которых не имеют счетов в других филиалах.
b. Клиентов, которые имеют счета во всех филиалах данного банка.
c. Клиентов, которые имеют только один счет в одном филиале банка.
d. Клиенты, которые имеют счета в нескольких филиалах банка, расположенных только в одном районе.

Последний раз редактировалось Т@tali, 07.05.2010 в 13:17.
Ответить с цитированием
  #2  
Старый 11.05.2010, 13:33
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

c:
Код:
select fio from r1 where count(fio)=1 group by Nfiliala
Ответить с цитированием
  #3  
Старый 13.05.2010, 01:25
Kapitoshka438 Kapitoshka438 вне форума
Начинающий
 
Регистрация: 09.11.2009
Сообщения: 145
Репутация: 238
По умолчанию

Я обзову эти таблицы Clients и Filials.
a:
Код:
Select F1.*
From Filials F1
Where Not Exists (
  Select *
  From Clients C
  Where C.N_Filial = F1.N_Filial And Exists (
    Select *
    From Filials F2
    Where F2.N_Filial = C.N_Filial And F1.N_Filial <> F2.N_Filial))
b:
Код:
Select Distinct C1.*
From Clients C1
Where Not Exists (
  Select *
  From Filials F
  Where Not Exists (
    Select *
    From Clients C2
    Where F.N_Filial = C2.N_Filial And C1.FIO = C2.FIO))
c: (вариант friz неправильный)
Код:
Select C1.FIO
From Clients C1
Where (
  Select Count(*)
  From Clients C2
  Where C1.FIO = C2.FIO) = 1
d: не очень понятен запрос.
Ответить с цитированием
  #4  
Старый 13.05.2010, 08:37
Kapitoshka438 Kapitoshka438 вне форума
Начинающий
 
Регистрация: 09.11.2009
Сообщения: 145
Репутация: 238
По умолчанию

А вообще тут явно еще одной таблицы не хватает, если вы кгда-нибудь слышали о нормальных формах базы данных.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:11.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter