2016-07-18 5 views
-2

質問の後に行が表示されない理由について簡単に質問しています。ここでは、データベースにある3つのテーブルに基づいて使用しているサンプルクエリを示します。(MySQL)クエリ後に行が表示されないのはなぜですか?

select ff9characters.name, ff9apchart.apneeded 
    from ff9characters 
    join ff9apchart 
    on ff9apchart.charID=ff9characters.id 
    join ff9abilities 
    on ff9apchart.abilityid=ff9abilities.id 
    where ff9abilities.ability = 'Accuracy+' 
    group by ff9characters.name 
    order by ff9characters.id; 

何も表示されません。私はff9abilitiesの能力欄がテキストデータ型のデータで満たされ、 '正確度+'が列挙されていると付け加えたいと思います。

私はWHERE文を変更した場合:

where ff9abilities.ability like 'Acc%' 

データのすべてが表示されます。私は4行戻った(私の希望の結果だった)。

能力列のデータ型をテキストからvarcharに変更して、すべてのデータを読み込むようにする必要がありますか?

+5

あなたのデータで '精度+'後に特別な文字が含まれていない特定のか? (例: 'Accuracy +') – Siyual

+0

ああ、それは良い点です。情報が "load data local infile"コマンドでインポートされたので、txtファイルを調べる必要があります。書式設定はオフになっている必要があります。 –

答えて

0

は、あなたが不適切なホワイトスペースをトリムで試してみるとすることができた(下)

select ff9characters.name, ff9apchart.apneeded 
    from ff9characters 
    join ff9apchart 
    on ff9apchart.charID=ff9characters.id 
    join ff9abilities 
    on ff9apchart.abilityid=ff9abilities.id 
    where trim(ff9abilities.ability) = 'Accuracy+' 
    group by ff9characters.name 
    order by ff9characters.id; 
+0

ヘッドアップありがとう!私は自分の問題を発見したと思う - 各セルのデータは、単語の後に余分な文字(空白の形で)を持っていた。 –

+0

私の答えが正しい場合は、それを合格とマークしてください。 – scaisEdge

関連する問題