チャリティーボーリングトーナメントのボウリングスコア(テーブル:ボウラー)のテーブルがあります。私は、ボーリングの可能な3試合にわたって男性と女性のためのトップの個人得点を引き出し、別のテーブル(テーブル:チーム)からチーム名と結びつけてから、上位のスコアを降順で並べるようにしています。テーブル内の複数の列から最大値を選択するとSQLエラーが発生する
私は男性のスコアから始めて、可能な3つのゲームで各人のトップスコアを選択し、すべてのレコードを降順で並べ替えるために働くべきSQLクエリを持っています。私はここでスタックオーバーフローに同様の質問に答えたのオフに、それをもと:https://stackoverflow.com/a/6871572
ここに私のクエリです:
$topmalebowler = "SELECT bowlers.bowler_name, teams.team_name,
(SELECT MAX(v) FROM (VALUES (bowlers.game_1_score),
(bowlers.game_2_score), (bowlers.game_3_score)) AS value(v))
as TopScore FROM bowlers INNER JOIN teams ON
bowlers.team_id=teams.team_id WHERE bowlers.sex = 'M'
ORDER BY 'TopScore' DESC";
私も、それを使用してエラーを得続けます。
「あなたはあなたのSQL構文でエラーが発生しているエラー。 近く「VALUES(bowlers.game_1_score)、(bowlers.game_2_score)を使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認し、 ラインで(bowlers.g」...」
私はどのように私はこのコードは一緒に部屋を結び付けることができますここで間違って何をやっている
注:??MySQLの5.5
を私はあなたが間違っているこれらのいずれかを下にコピーされたと確信しているが、あなたのコードは 'ボウラーを参照しています'テーブルを参照していて、' bowlers_2016'テーブルを参照しています。 – tschwab
あなたは正しいです...それを修正しました。ありがとう! – TMax
もしあなたがMySQLを使用しているなら、あなたがリンクした質問の中で2番めにアップアップされた答えを見てください。使用している構文は、Microsoft SQL Serverでのみ動作します – Terminus