我想要說我認爲正確的™的方式來處理這前言這可能是重組數據庫表,但高爾夫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