Форум программистов, компьютерный форум CyberForum.ru

PostgreSQL

Войти
Регистрация
Восстановить пароль
 
misesin
1 / 1 / 0
Регистрация: 13.11.2014
Сообщений: 40
#1

Определить, у кого из брокеров есть вложения в объекты абсолютно всех стран - PostgreSQL

16.11.2016, 11:02. Просмотров 223. Ответов 1
Метки нет (Все метки)

Имеется связь N:N между таблицами Broker и Issuer. Необходимо определить, какой из сущностей Broker имеет связь с Issuer-ами со всеми возможными country.
Вот что имеется на данный момент, удалось только вывести таблицу с именами Broker с количеством различных стран. По сути осталось сравнить значение количества стран в новой таблице с количеством всех стран таблицы Issuer.
Во вложениях Концептуальная схема и новая таблица
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
CREATE TABLE Broker (
  brokerID        PASSPORT    NOT NULL    PRIMARY KEY,
  name            NAME        NOT NULL,
  phoneNumber     PhoneNumber     NOT NULL,
  investedMoney   FLOAT       NOT NULL,
  profit          FLOAT       NOT NULL,
  startDate       DATE        NOT NULL
);
 
CREATE TABLE Issuer (
  issuerID        SERIAL      NOT NULL    PRIMARY KEY,
  capitalization  FLOAT       NOT NULL    CHECK(capitalization > 0),
  price           FLOAT       NOT NULL    CHECK(price > 0),
  phoneNumber     PhoneNumber     NOT NULL,
  creationDate    DATE        NOT NULL,
  country         VARCHAR     NOT NULL
);
 
CREATE TABLE ContractBI (
    id      SERIAL      NOT NULL    PRIMARY KEY,
    ammount     INTEGER     NOT NULL    CHECK(ammount > 0),
    brokerID    PASSPORT    NOT NULL    REFERENCES Broker,
    issuerID    INTEGER     NOT NULL    REFERENCES Issuer,
    DATE    DATE        NOT NULL,
    UNIQUE (brokerID, issuerID)
    );
 
SELECT b.name, COUNT(DISTINCT i.country)
FROM Broker b
INNER JOIN ContractBI c1
ON b.brokerID = c1.brokerID
INNER JOIN Issuer i
ON c1.issuerID = i.issuerID
GROUP BY b.name
Миниатюры
Определить, у кого из брокеров есть вложения в объекты абсолютно всех стран   Определить, у кого из брокеров есть вложения в объекты абсолютно всех стран  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2016, 11:02     Определить, у кого из брокеров есть вложения в объекты абсолютно всех стран
Посмотрите здесь:

Turbo Pascal Даны название 20-ти стран и частей света,в которые они находятся.Определить, есть ли среди них страны,находящиеся в Африке или в Азии
Определить, есть ли среди стран те, которые находятся в Африке или в Азии C#
Даны названия 20 стран и частей света, где они находятся. Определить, есть ли среди них страны Азии и Африки C++
Есть ли такие, у кого есть свои идеи, касающиеся защиты от вирусов?
PostgreSQL У кого нибудь было подобное?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grgdvo
526 / 467 / 130
Регистрация: 02.09.2012
Сообщений: 1,369
16.11.2016, 17:09     Определить, у кого из брокеров есть вложения в объекты абсолютно всех стран #2
а так проверьте, писал с листа
SQL
1
2
3
4
5
6
7
8
9
10
SELECT
  b.brokerid,
  b.name
FROM
  broker b, contractbi bi, issuer i
WHERE
  b.brokerid=bi.brokerid AND bi.issuerid=i.issuerid
GROUP BY
  b.brokerid, b.name
HAVING COUNT(DISTINCT i.country) = (SELECT COUNT(DISTINCT ii.country) FROM issuer ii);
Yandex
Объявления
16.11.2016, 17:09     Определить, у кого из брокеров есть вложения в объекты абсолютно всех стран
Ответ Создать тему
Опции темы

Текущее время: 13:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru