Если одна таблица (A) относится к другой (B), которая относится к другой (C), могу ли я написать запрос, чтобы получить таблицу из A из соединения между B и C? - PullRequest
1 голос
/ 27 февраля 2011

У меня есть схема с 3 таблицами.Две из таблиц (Trade / Portfolio) имеют отношение 1: 1, поэтому FK в одной из этих таблиц имеет уникальное ограничение.

Таблица, как объяснено выше, с FK (то есть Portfolio)относится к третьей таблице.Поскольку эта третья таблица (цена) отображает историческую информацию для портфеля (может быть много цен для портфеля за определенный период времени), существует стандартное соотношение 1: m.

Однако мне нужноприобрести различные цены на портфель.Это легко сделать с помощью запроса, который работает с идентификатором портфеля.Тем не менее, это реальный способ получить цену одной сделки?Есть ли какие-либо ограничения в дизайне, которые могли бы предотвратить это?

Извиняюсь за длинный заголовок, но не смог найти лучшего способа объяснить проблему!

Спасибо

1 Ответ

1 голос
/ 28 февраля 2011

По вашему описанию, я думаю, это ваша модель данных. FK TradeID является уникальным в портфолио. enter image description here

И вам интересно, можно ли получить строки из Price, связанные с Trade. Вот запрос, который даст вам все строки из Price, где TradeID равен 1.

select Price.*
from Portfolio
  inner join Price
    on Portfolio.PortfolioID = Price.PortfolioID
where Portfolio.TradeID = 1    

Я не вижу в этом дизайне ничего, что помешало бы вам выбрать строки из цены с использованием TradeID.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...