-1

単純な MySQL クエリを実行しようとしていますが、期待どおりに動作しない理由がわかりません。clrs_how_to_reach次の列を持つテーブルがあります

  • ID
  • 州名
  • 宛先名
  • 到達方法

上の表には、テスト目的で追加したエントリが 1 つだけあります。次のクエリを実行しているとき

SELECT * FROM clrs_how_to_reach WHERE id=1

結果を取得しており、1 つの結果を取得したことを示すクエリが表示されますが、次のクエリを実行している場合:

SELECT count(*) FROM clrs_how_to_reach 
WHERE state_name='himachal-pradesh' AND destination_name='dalhousie'

even select * from rest of query

両方の列にクエリで使用した値がある間、結果が表示されない

なぜこれが起こっているのか分かりません。補足として、私はワードプレスを使用していますが、これらのクエリを SQL コンソールでも試しました。

編集

に変更 state_name='himachal-pradesh'するとstate_name='himachalpradesh'、結果を取得できましたが、アプリケーション全体でこの規則を使用しているため、結果を変更できません。

ここにクエリの結果がありますselect * from clrs_how_to_reach where id=1;

http://i42.tinypic.com/2vd4tmq.png

4

3 に答える 3

0

あなたはこのように試してみたいかもしれません:-

select count(*) as Column1 from clrs_how_to_reach 
where state_name ='himachalpradesh' and destination_name = 'dalhousie'

列に中間himachal-pradeshがあるかどうかを確認してください(-)

編集:-

サンプルデータに保存himachalpradeshした可能性がありますが、実際のデータには値がある場合がありますhimachal-pradesh。そうしないと、値の値を取得できない場合がありhimachalpradeshます。

SQLFIDDLE を追加しました

あなたが言ったように、問題は列の照合設定にありました

于 2013-09-15T11:35:13.660 に答える