2017-10-26 6 views
2

result1とresult2の値を合計しようとしていますが、未知の列result1が表示されます。誰かが助けてくれますか?私は間違って何をしていますか?'field list'の 'result1'列が不明です

SELECT * 
     ,case when event1 = '100mh' then 25.4347*power(sum(18.00-10.40),1.81) end as result1 
     ,case when event2 = 'highjump' then 9.4347*power(sum(14.00-145),1.835) end as result2 
     ,SUM(result1 + result2)as total 
from heptathlon 
group by athlete_id 
+5

。 –

+0

これを確認してくださいhttps://stackoverflow.com/questions/22369336/mysql-sum-multiple-columns – Bharat

答えて

2

これを試してください:あなたは、私見を新しいものを投稿する前に解決された過去の質問をオフにマークする必要があります

SELECT t.*, sum(t.result1 + t.result2) AS total 
    FROM ( SELECT b.*, 
       CASE 
        WHEN b.event1 = '100mh' 
        THEN 
         25.4347 * POWER (SUM (18.00 - 10.40), 1.81) 
       END 
        AS result1, 
       CASE 
        WHEN b.event2 = 'highjump' 
        THEN 
         9.4347 * POWER (SUM (14.00 - 145), 1.835) 
       END 
        AS result2 
      FROM heptathlon b 
     GROUP BY b.athlete_id) t 
+0

解決方法は次のエラーが発生します。 FUNCTION framework.SUMは存在しません。リファレンスマニュアルの「ファンクション名の解析と解決」のセクションを確認してください。 – Webjunkie

+0

@Webjunkie sumキーワードが見つかりませんでした。今すぐチェックしてください。それはMySQLで動作するはずですが、以前のものもOracleで正常に動作します。 – XING

+0

ソリューションが機能しました。私は不要なスペースを取り除く必要がありました。ありがとう – Webjunkie

関連する問題