プロが教えるわが家の防犯対策術!

質問はここでいいでしょうか?
SQLyogを使って作成したテーブルをlocalhostで表示させようとしています。limit句とorder by句は合わせて用いることが出来ました。今、ここにさらにlike演算子を追加しようとしています。これは可能でしょうか?
また、上記の(order byとlimit処理のみの)デーブルに新たにkeyカラムを加えたところ'(order by) Key ASC LIMIT 0,10'"の所でエラーが出ます。他のカラムではこの書き方で首尾よくいっているため原因が分かりません。
どちらかでもいいので教えて頂けますか\(*^▽^*)/

A 回答 (2件)

SQLyogというソフトは、対応RDBMSはMySQLでは?


ここのカテゴリのPostgreSQLでは、「LIMIT 0,10」とは書けず、「OFFSET 0 LIMIT 10」という書き方になるようですから。

「(ORDER BY) 列名」という書き方で、本当にうまく行っているのでしょうか?
MySQL、PostgreSQLのどちらも、構文エラーになりました。
一般的なSQLの書き方では、「ORDER BY 列名」です。

「order by key」では、keyが予約語になっているので、MySQLではエラーになります。
「order by `key`」とバックコーテーションで列名を囲ってください。

「WHERE 列名 LIKE ~」という条件追加は、MySQL等を使っているなら、何ら問題ないはずです。
ここでも予約語の列名なら、列名を「`」で囲むのを忘れないでください。
    • good
    • 0
この回答へのお礼

すいません、()は分かりやすくするためにorder byを入れたために発生した文字でした。
教えて頂いた方法で試してみます。
keyは予約語なのですね。
どれでうまくいかないんだと思います。
文字を変えてみます。m(__)m

お礼日時:2006/05/19 17:21

#1回答者です。



#1回答後に気付きましたが、質問のタイトルで「副問い合わせ」とありますが、質問内容に副問い合わせのことが一つもありませんが?
    • good
    • 0
この回答へのお礼

そうなんですか!?
order byとlimitを組み合わせている時点で副問い合わせ(複数の演算子)なのかと思っていました。
しょぼいんですいません。δ(⌒~⌒ι)

お礼日時:2006/05/19 17:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!