• 締切済み

sqlで追加(and)をいれたい

私は今不動産会社のweb制作担当で働いています。 web制作といっても、元々私はデザイナーなので ホームページを作ることしかできず、 物件検索などphpやsqlが必要なページは ほかの会社のSEさんが作ったものを使っています。 今回、物件検索の形を変えることになり、 ほかの会社のSEさんに相談したところ、 ヒントはくれるのですが、すべて任せて直していただくと お金が発生するので、私の力で修正したいと思い。。。 修正内容は今一緒になってるデータを id10、id20、id30、id40、id50でわけたいのですが。 SEさん曰く↓この文のWHERE recommend = '1' のあとに andでidをひっつけるだけといわれたのですが いろいろ試すんですが、うまくいきません。 $e['sql'] = "SELECT SQL_CALC_FOUND_ROWS a.id, a.kind, a.name, " . "a.address, a.price, a.area, a.room, a.ldk, a.parking " . "FROM hc_article AS a WHERE recommend = '1' " . "ORDER BY price ASC LIMIT {$e['limit']} OFFSET {$e['offset']};"; 単純にWHERE recommend = '1' and 'id10'のように していけばいいのでしょうか??? すみません。無知なもので、 うまく説明ができているかどうか・・・

みんなの回答

回答No.3

補足。(大雑把に説明してるので厳密には違う部分もあることは頭に入れてください) かえって混乱するようであれば無視してください。 SQLでの「and」というのは 「andの左右両方の条件式が成り立つときに『条件成立』とする」 という意味があります。 なので、 1=0 and 1=1  は、「成り立たない」and「成り立つ」なので、条件は成り立たず、 0=0 and 1=1  で、「成り立つ」and「成り立つ」なので、ここで初めて条件は成立します。 だから、 1 = a and b  というのは、andの右側が条件式になっていないのでエラーになります。

  • yone_sk
  • ベストアンサー率34% (58/167)
回答No.2

↓この1行を追加すればOKです。 and id = 'id10' 見やすくするとこんな感じです。 ============================ SELECT  SQL_CALC_FOUND_ROWS a.id,  a.kind,  a.name,  a.address,  a.price,  a.area,  a.room,  a.ldk,  a.parking FROM  hc_article AS a WHERE  recommend = '1' AND  id = 'id10' ORDER BY price ASC LIMIT {$e['limit']} OFFSET {$e['offset']}; ============================

rumimoe
質問者

お礼

ご丁寧にありがとうございます。 まだうまくできてないのですが 少し前進してできそうなかんじです! ありがとうございます!!

回答No.1

ここは SQL Server のカテゴリですが、使っている関数を見ると MySQL ではないのでしょうか? >修正内容は今一緒になってるデータを >id10、id20、id30、id40、id50でわけたいのですが 表の列構成、母体データ、得たい結果などを具体的に説明してくれないと、誰も具体的なアドバイスはできません。

rumimoe
質問者

補足

ご指摘ありがとうございます。 すみません、質問の仕方さえよくわからないぐらい 無知でして。。。 なんとか、調べてやってみたいと思ってますが なかなか難しいですね。。。

関連するQ&A