2011-01-12 18 views
1

私はMySQLのスクラブです。私は尋ねて、インターネット上で何かが明らかになることを確かめましたが、私は非常に単純なクエリは動作しないと思った。だからここに行く。優しくしてください。MySQL演算子を含む列名を含むクエリ

基本的に、大きなデータベースでは、列名の一部に「/」や「+」などの数学演算子が含まれています。 (私のデータベースではない、私はそれについて何もすることはできません質問しないでください)。ここに私のクエリの「本質」がある(私はこの質問のために無関係なものを取り出した):

SELECT PlayerId, 
     Season, 
     WPA/LI AS WPALI 
    FROM tht.stats_batting_master 
    WHERE Season = "2010" 
    AND teamid > 0 
    AND PA >= 502 
GROUP BY playerid 
ORDER BY WPALI DESC 

私はこれを実行すると、それはフィールドリスト "に「不明な列『LI』を返し、 「WPA/LIの「/」が部門記号として認識されているからだと思います。私が言ったように、これは回避するのが簡単だと確信しています(このデータベースの使用量を与えなければなりません)。しかし、私はどのように把握できませんでした。

ご協力いただきありがとうございます。このような状況を脱出する

+0

おかげで、あなたの両方を...私はそれはMySQLの知識のいくつかの基本的な部分であることを知っていました私の「必要に応じて学ぶ」ナレッジセットは除外されました。出来た。 –

答えて

5

使用バッククォート:

SELECT PlayerId, 
     Season, 
     `WPA/LI` AS WPALI 
    FROM tht.stats_batting_master 
    WHERE Season = "2010" 
    AND teamid > 0 
    AND PA >= 502 
GROUP BY playerid 
ORDER BY WPALI DESC 
+0

ありがとう、以下のコメントを参照してください –

0

あなたはこのsyndaxを試してみました:

SELECT PlayerId, Season `WPA/LI` AS WPALI 
FROM tht.stats_batting_master 
WHERE Season="2010" AND teamid>0 AND PA>=502 
GROUP BY playerid 
ORDER BY WPALI DESC 
+0

ありがとう、私はそれを理解した、私は知ってはならなかったが、MySQLの私の大雑把な知識ではなかったことが分かった。 –

関連する問題