mysql - 从另一个 View 创建一个 View

标签 mysql view

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

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

其中,LTE = Results 中的 earnings 字段之和,Year = 为以下内容创建的单独列每年

(例如,如果马 B 在 2012 年和 2011 年出现,则只有这两年的栏目,并且每年都有单独的 LTE)

我尝试仅使用 Sire 字段创建一个 View ,同时考虑其他因素。理想情况下它看起来像这样 -

HID|HName|ProgenyEarnings|Year

在本例中,HName 基于 SireProgenyEarnings 是所有马匹的 LTE 总和与陛下一起。这是一种查看 v_testhorses 中所有马匹并将它们“分配”给也在 v_testhorses 数据库中的父亲的方法。这是根据后代来决定谁是每年收入最高的父亲的最简单方法。

我希望这是有道理的! 我一直在尝试将 WHERE HName=Sire 作为子句,但它只是给了我一个空 View 。

最佳答案

您必须将 View 与其自身结合起来才能将后代与其父亲联系起来:

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

关于mysql - 从另一个 View 创建一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46501908/

相关文章:

MySQL 创建函数语法

php - UPDATE 语句耗时过长

iphone - presentModalView 从我的横向应用程序的侧面进来

templates - 一个 Symfony 2.0 Controller-Action 具有两个不同的模板

sql - Microsoft SQL Server (MSSQL) 可更新 View ,具有多个基表和完整性能

php - MySQL 插入错误

mysql - 将图像保存到 mysql 数据库 - JSP 和 Servlet

Java - 从单独的类打开一个新 View

view - 如何将对话框 View Controller 作为 subview 添加到 UIView 或反之亦然?

MYSQL 查询 AND 子句