- ベストアンサー
WHERE句で書いた順に表示するには
mil_milの回答
- mil_mil
- ベストアンサー率50% (1/2)
ちょっとずれるかもしれませんが select * from tb where id = 'i004' union select * from tb where id = 'i001' union select * from tb where id = 'i003' と書けば、そのような結果を出すことは出来ますが、 あまり実用的ではないと思います。
関連するQ&A
- ORACLEでwhere句の検索順序
Oracle9i windows2000です。 以下のようなテーブルがあります。 table_a ----------------------- id NUMBER(10,0) NOT NULL, sort NUMBER(10,0) NOT NULL, name VARCHAR(10), text VARCHAR(255) この条件で、以下のふたつのSELECT文を発行した時、パフォーマンスが良いのはどちらですか? Oracleでは後ろから検索されると聞いたことがあるのですが本当でしょうか? ※idにプライマリキー、 id,sortにインデックスが貼ってあります。 (1)SELECT text FROM table_a WHERE id = 1 AND sort = 2 AND name = 'a' (2)SELECT text FROM table_a WHERE name = 'a' AND sort = 2 AND id = 1
- ベストアンサー
- その他(データベース)
- SQL 句の評価順
SQL句の評価順について皆さんの意見をいただけないでしょうか? <ケース1:SELECTが最後> ・FROM ・WHERE ・GROUP ・HAVING ・ORDER ・SELECT <ケース2:SELECTがトップ> ・SELECT ・FROM ・WHERE ・GROUP ・HAVING ・ORDER <ケース3:ORDERの前にSELECT> ・FROM ・WHERE ・GROUP ・HAVING ・SELECT ・ORDER どのケースで評価されますでしょうか? ご教授お願いします。
- ベストアンサー
- その他(データベース)
- whereの使い方が分からないのですが…
foodテーブルの全ての項目内から「りんご」「みかん」というのキーワードをAND検索させたいのですが、 select * from food where ("りんご" AND "みかん"); select * from food where * "りんご" AND "みかん"; select * from food where *="りんご" AND *="みかん"; select * from food where *=("りんご" AND "みかん"); 思いつく限り試しましたが、どれもうまく行きません。 select * from food where (a="りんご" AND a="みかん") or (b="りんご" AND b="みかん") or (c="りんご" AND c="みかん") or… と、延々と続いて書くしかないのでしょうか? 何か方法はありますか?
- ベストアンサー
- MySQL
- select文のwhere句に配列を入れて検索したい
こんばんは。 題名の通り、select文のwhere句に配列を入れて検索したいのですが、 同じ質問↓も見つけ、やってはみるのですがうまくいかないので、教えてください。 http://oshiete1.goo.ne.jp/qa2940474.html 現在、 $member_id という配列にデータを入れ(この配列には正しく値が入っています。) $sql = "SELECT * FROM テーブル名 WHERE id IN (".$member_id."); としているのですが、うまくいきません。 どこがおかしいのでしょうか。 よろしくお願いします。
- ベストアンサー
- MySQL
- 文字例の比較について WHERE句
文字例の比較について、教えてください。 DELETE_FLAGという項目には、文字列の"1"、もしくはNULLが入っています。 セレクト文でDELETE_FLAGが"1"以外のものを抽出したいのですが、うまくいきません。 以下のSQL文を実行した際に、結果として5件ヒットしてほしいのですが、なぜか0件となってしまいます。 select count(product_id) from hpk_atoz_list_view where delete_flag != '1'; 原因わかりますでしょうか? よろしくお願いいたします。 ============================================================================ SQL> select delete_flag, product_id from product_list_view; DELETE_FLAG product_ID --------------------------------- 0002 1 1003 0002 1 1003 0002 1 1003 0002 0002 8行が選択されました。 SQL> SQL> select count(product_id) from product_list_view where delete_flag != '1'; COUNT(product_id) ---------- 0 SQL> SQL> select count(product_id) from product_list_view where delete_flag = '1'; COUNT(product_id) ---------- 3 SQL> SQL> select count(product_id) from product_list_view where delete_flag is not null; COUNT(product_id) ---------- 3 SQL> SQL> select count(product_id) from product_list_view where delete_flag is null; COUNT(product_id) ---------- 5 SQL> =====以上=====
- ベストアンサー
- Oracle
- MySQLでのWhere句
MySQLでWhere句の書き方で苦戦しています。 以下のuser_table(オーダー)が来たときに、スタッフが用意すべき数量を商品ごとに抽出するSQLを書いています。 Where句の書き方が思いつきません。ご指導をお願いいたします。 user_table (name) (product) (user_volume) takada | pro_001 | 500 | takada | pro_002 | 100 | matuda | pro_003 | 400 | kawase | pro_001 | 200 | yosida | pro_001 | 500 | tanaka | pro_001 | 300 | tanaka | pro_002 | 500 | tanaka | pro_003 | 300 | 作りたいテーブル(SQLの結果) total_table (id)(product_name)(total_volume) staff | pro_001 | 1500 | staff | pro_002 | 600 | staff | pro_003 | 700 | 途中まで作って断念したSQL INSERT INTO total_table (id ,product_name,total_volume) SELECT 'staff',product,SUM(user_volume) FROM user_table WHERE ・・・;
- ベストアンサー
- MySQL
- php mysql で WHERE句内に変数を入れる方法を教えてください。
php初心者です。 お世話にになります。 id content 1 テキスト1 2 テキスト2 3 テキスト3 4 テキスト4 5 テキスト5 上記のようなデータベースです。 下記の文で5行目のテキストを抽出する事は出来ています。 $query = 'SELECT * FROM tbl_batsu WHERE id = 5'; ランダム整数を生成し、5つの中から一つランダムにデータを抽出したいと考えています。 $num = rand(1, 5); $query = 'SELECT * FROM tbl_batsu WHERE id = $num'; 上記ですとエラーが出てしまいます。 Query failed: Unknown column '$num' in 'where clause' そんなカラムはありませんという意味だとは思いますが・・・ 初心者なもので的外れな質問になっているかも知れませんが、解決策が分かる方は是非ご教授頂ければありがたいです。 よろしくお願いします。
- 締切済み
- PHP
- likeの使い方について
すみません。教えてください。。 ACCESSで下記2つのテーブルをunionでくっつけて nameの右端(1桁目)が同一のもの(CとCCなど)を抽出するため 下記のような構文を構築したのですが抽出されません。。 お手数ですがこちら何が原因となっているか教えていただけないでしょうか。。 よろしくお願い致します。 id name id name 1 a 1 a 2 b 2 b 3 c 3 cc 4 d 5 ee 5 e select * from (select * from tb1 union select * from tb2) as A where name like '*c' or name like '*d' or name like '*e'
- ベストアンサー
- その他(データベース)
- Sybase のselect文の書き方について
sybaseのselect文の書き方についてご教授お願いします。 以下のようなselect文を発行したのですが エラーになってしまいます。 Sybase では、この様なselectはできないのでしょうか? -------------------------------------------------------------- select q2.kind_id, q2.name, q1.id, q1.scription FROM (select * FROM tb_info WHERE tb_info.id = (select id from tb_info where u_id = 'XYZ')) q1 RIGHT JOIN ( SELECT * FROM tb_kind_info WHERE tb_kind_info.flg='1') q2 ON q1.kind_id = q2.kind_id -------------------------------------------------------------- -------------------------------------------------------------- 実行例 1> select q2.kind_id, q2.name, q1.id, q1.scription FROM (select * FROM tb_info WHERE tb_info.id = (select id from tb_info where u_id = 'XYZ')) q1 RIGHT JOIN ( SELECT * FROM tb_kind_info WHERE tb_kind_info.flg='1') q2 ON q1.kind_id = q2.kind_id 2> 3> 4> 5> 6> 7> 8> go Msg 156, Level 15, State 2: Server 'xxxxx', Line 3: キーワード select の近くに、構文エラーがあります。 Msg 102, Level 15, State 1: Server 'xxxxx', Line 3: ')' の近くに、構文エラーがあります。 Msg 102, Level 15, State 1: Server 'xxxxx', Line 5: 'q2' の近くに、構文エラーがあります。 -------------------------------------------------------------- MS Accsess上ではちゃんと取れることを確認できました。 どうぞよろしくお願いいたします。
- 締切済み
- その他(データベース)
お礼
ありがとうございます! unionという方法もあるのですね。 確かに、SQL文はもっと長いのでunionを使うと ソースが見にくくなってしまい、また速度も 気になるところで実用的ではないのかもしれません。 でも勉強になります!