Postgresを使っておりますが、ここで複数のor文をカッコで囲み、and検索している様にしております。

ただ、LIKEを使うとどうも上手くいきません。
例えば

select * from hatena where type1='1' and(type2 = '2' or type3 = '3')

というようにしております。
※これでSQLが正しいかは分かりませんが、要は()内のor文のうち一つでも、条件が当てはまらないと検索対象から外したいのです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/05/17 15:16:31
  • 終了:2006/05/17 15:58:18

回答(3件)

id:vector_xenon No.1

vector回答回数113ベストアンサー獲得回数42006/05/17 15:26:33

ポイント27pt

どのような回答を望んでおられるのか分かりかねますが、

望んでおられる結果を出すには、そのSQLで合っていますよ。

dummy url

http://google.co.jp/

id:makocan

上記のSQL文で、type1 LIKE '1%'を行わなければ期待通りの結果になるのですが。。。

2006/05/17 15:44:54
id:nabetomo No.2

nabetomo回答回数125ベストアンサー獲得回数62006/05/17 15:42:45

ポイント27pt

「()内のor文のうち一つでも、条件が当てはまらないと検索対象から外したい」

のであれば

全てandになりますよ。


select * from hatena where type1='1' and type2 = '2' and type3 = '3';

http://www.pursue.ne.jp/jouhousyo/SQLDoc/select05.html

id:makocan

いや、()内のどれか一つの場合でも、andでいいのでしょうか?これだと、全ての条件に当てはまらないと検索対象にならないような気がします。。。

2006/05/17 15:44:07
id:taknt No.3

きゃづみぃ回答回数13539ベストアンサー獲得回数11982006/05/17 15:52:28

ポイント29pt

http://cyberam.dip.jp/database/postgres/sql/select/select_main.h...

select * from hatena where (type1 like '1%') and ((type2 = '2') or (type3 = '3'))

としてみたらいかがでしょうか?

id:makocan

解決しました!

ありがとうございました。

2006/05/17 15:57:54

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません