从另一个视图创建视图

时间:2017-09-30 10:36:09

标签: mysql view

我目前有一个名为v_testhorses的视图,它从HorsesResults提取数据。它具有以下值 -

HID|HName|YOB|Gender|Sire|Dam|OName|Stable|LTE|Year

其中LTE =来自earningsResults的{​​{1}}字段的总和=每年创建的单个列

(例如,如果马B在2012年和2011年展示,那么这两年只有每年有不同LTE的专栏)

我正在尝试使用Year字段创建视图,同时考虑其他事项。理想情况下它看起来像这样 -

Sire

在这种情况下,HID|HName|ProgenyEarnings|Year 取决于HName,而Sire是所有匹配ProgenyEarnings的所有匹配的LTE的总和。这是一种查看Sire中所有马匹的方法,并将它们“分配”给同时位于v_testhorses数据库中的父亲。根据他们的后代,这是决定谁是每年收入最高的父亲的最简单方法。

我希望这是有道理的! 我一直在尝试v_testhorses作为一个条款,它只是给我一个空洞的看法。

1 个答案:

答案 0 :(得分:0)

你必须自己加入观点,将后代与其父亲联系起来:

SELECT h1.HID, h1.HName, SUM(h2.LTE) AS ProgenyEarnings, h1.Year
FROM v_testhorses AS h1
JOIN v_testhorses AS h2 ON h1.HName = h2.Sire
GROUP BY h1.HID