我想要说我认为正确的™的方式来处理这前言这可能是重组数据库表,但高尔夫SQL问题
我有一个客户,他正在购买的大多数数据库的一个作业美国的高尔夫球场。由于他会定期收到卖家的更新,所以我保留了发送的结构。 (肮脏的一边:数据的蠢货卖家承诺让我们知道他什么时候“必须更改现有记录的ID”。什么?您正在销售数据,然后更改唯一ID后?)
所以我有一个表发球台(按照顺序排列的洞群);一张发球台(一个发球台)和一张洞(每个洞个人得分)。
在tees表格中,这些玩家将场地名称Par_ 1,Par_ 2,Par_ 3和Par_ 18以及INT值存储在par(目标分数)中。所以孔号是字段名称的一部分,并且根本不存储为值。
现在让我们来说说,我需要查找在特定回合中对于洞数为3的洞的所有得分的平均值。或者你所有的回合。
喜欢的东西
SELECT (SUM(holesPlayed.score)/COUNT(holesPlayed.score))
FROM holesPlayed, tees
WHERE
holesPlayed.round_id = 9
AND tees.CourseTeeNumber = 'UT-94-1'
AND tees.Par_x = 3;
所以我可以很容易地查找得分的洞,但查找面值为一孔,因为孔数嵌入在这样的字段名称将涉及一场噩梦。
我是否应该开始写一些东西,通过三通和空洞将它们导出到自己的表中?
我错过了一些惊人的SQL功夫,会救我吗?
您的建议是什么?
告诉我们您*真的*感受。 – 2009-10-30 22:00:41
你不应该在这里的任何标题“高尔夫”。我以为你在问一个简短的SQL查询。 :-D – HalfBrian 2009-10-30 22:08:15
“您正在销售数据,然后更改唯一ID后?”是的,这发生在现实世界中,并且是拥有可信来源(而不是滚动自己的标识符)的优势之一,即您付费为您提供帮助。考虑使用重复ISBN发行的书:组织对重复进行排序并通知用户标识符的变化。 – onedaywhen 2011-09-27 10:34:17