- ベストアンサー
mysql IN句に1データだけ指定は問題有ですか
IN('xxx','sss',~)と複数データを指定するのがIN句の使い方ですが、 SELECT * FROM `tabledate` WHERE ~ ff IN('xxx') ~; というように1つだけ指定でも問題はありますか?
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- PDO で IN句を利用することができません
PDOでIN句を使用しているのですが、正しく動作しません。 $stmt = $pdo->prepare('SELECT * FROM hoge where id in (?)'); $stmt->bindValue(1, '123, 456, 789'); $stmt->execute(); var_dump($stmt->fetchAll()); fetchAllを行っても複数のレコードがかえってこず、ヒットした最初の1行のレコードしか取得することができません。PDOでIN句を使用することはできないのでしょうか? DBMSはMySQLを使用して、PHPは5.2.6を使用しています。 ちなみに $stmt = $pdo->prepare('SELECT * FROM hoge where id in (?, ?, ?)'); $stmt->bindValue(1, 123); $stmt->bindValue(2, 456); $stmt->bindValue(3, 789); $stmt->execute(); では、fetchAll で複数のレコードが返ってきます。 どうしてもpreparedで単一のIN句を使いたいのですが、何か良い方法はありますでしょうか?
- 締切済み
- PHP
- where条件内のin句について
質問です。 where code in(select code from list where ....) ------------------------------------------ といったwhere句がある場合ですが、 in句でヒットしている件数が5000件を超えているため SQLを発行してもタイムアウトでエラーになります。 何か回避策はないでしょうか? よろしくお願いします。
- ベストアンサー
- その他(データベース)
- ASP.NETのIN句のパラメータについて
ASP.netでの質問です。データセットを作成し、テーブルアダプタにて メソッドを作成しました。がsqlでIN句でパラメータを指定すると エラーがでます。DBはoracleです。 select * from table where param IN (:param) パラメータは可変長でいくつでるか分かりません。 中の値は(値1,値2,値3)という感じです。 IN句が使えないと他にどうすればよいでしょうか?
- 締切済み
- その他(プログラミング・開発)
- IN句に副問合わせを使う場合と使わない場合
お世話になります。 SQLについての質問です。 RDBMSはSymfowareです。 IN句に副問い合わせを指定するSQLと その副問い合わせの結果を直接IN句に記載したSQLで 結果が異なってしまいます。 こういうことってありますでしょうか。 以下のようなSQLです。 (1) SELECT * FROM T1 WHERE T1.column_A IN ( SELECT T2.column_A FROM T2 WHERE T2.column_B='XXXX' ) 上記IN句内のSELECT文の結果は、'A'、'B'、'C'、'D'です。 (2) SELECT * FROM T1 WHERE T1.column_A IN ('A','B','C','D') この(1)、(2)のSQLの結果が異なってしまいます。 私の環境では(1)では0件、(2)では2件ヒットします。 なぜこのようになるのかわかる方がいらっしゃいましたら ご教授ください。 ちなみに、DBを操作して、副問い合わせのSELECT文の結果を 'A'、'B'とすると同じ結果が得られます。 副問い合わせのSELECT文の結果が3件以上になると(1)のSQLの 結果は0件になってしまいます。 RDBMSの障害でしょうか・・・? それとも、IN句に副問い合わせを使用する場合、 その副問い合わせの結果は2件以下にする必要がある なんてルールがあったりするのでしょうか。
- 締切済み
- その他(データベース)
- sqlparamaterでIN句を使いたい。
C♯での開発です。 引数で、カンマ区切りの文字列を受け取って、それをIN句に使ったSQLを発行 したいのですが、これをsqlparamaterで出来ないか悩んでいます。 キーが決まった数しかこないのであれば、 command.CommandText = "SELECT * FROM Table1 WHERE NAME IN (@name1,@name2)"; こんな感じでいいんでしょうが、動的である場合、どうしたら良いのでしょうか?
- ベストアンサー
- C・C++・C#
- WHERE句でのデータ型について
お願い致します。 ORACLEのWHERE句に対する疑問点ですが、 カレンダを管理するテーブル(カレンダマスタ)において、条件を指定してデータをSELECTする時にWHERE句に記入するデータ型についてご指導お願いします。 <詳細> 目的としてカレンダマスタよりSYSDATEの年月の休みの日を除く、稼動日数(COUNT)を求めるのが、目的です。 自分で作成した、SQLでは目的を果たしているのですが、WHERE句にTO_CHARを使用し、抽出項目(年月日-DATE型)を指定しているのですが、条件を指定する時は、TO_CHARで指定しても問題は無いのでしょうか? <SQL> SELECT COUNT(TO_NUMBER(休みFLG)) AS 稼動日 FROM カレンダマスタ WHERE 年月日 BETWEEN (TO_DATE(LAST_DAY(ADD_MONTHS(SYSDATE,-1))+1,'YYYY/MM/DD')) AND (TO_CHAR(LAST_DAY(SYSDATE),'YYYY/MM/DD')) AND 休みFLG='0' <補足> 休みFLG='0'は稼動日
- ベストアンサー
- Oracle
- php5+mysqlのSELECT文でwhere句を指定すると正しく動
php5+mysqlのSELECT文でwhere句を指定すると正しく動きません。 レコード数を取得します。 ここで、field10(category)=text型の値に基づきレコード数を取得したいのですが、 $sql="select * from A where B='C'"; とするとレコード出力(index.php)で0を出力。 where句を指定せずに $sql="select * from A"; とするとレコード出力(index.php)で97を出力。 文字コード関係のQ&Aサイトを見ましたが、phpファイルの冒頭部分に $con = mysql_connect($DBSERVER, $DBUSER, $DBPASS); mysql_query("SET NAMES 'sjis'"); $selectdb = mysql_select_db($DBNAME, $con); を指定しています。 テーブルAに含まれるデータは、csv(,区切り)で、load data infile・・・しました。 ※Records:97 Deleted:0 Skipped:0 Warnings:0 他に考えられる原因・対処方法はありますでしょうか? よろしくお願いします。
- 締切済み
- PHP
- SQLのIN句について
DB:Oracle9i SQLのIN句のカッコ内は、何個まで書けるなど、制限はあるのでしょうか? PRO_KEY = IN (no1, no2, no3・・・)など、カッコ内が可変で、数百個、もしくは数千個ある場合、IN句を使用しデータを一度に取得するのではなく、PRO_KEY = no1のSELECT処理を発行、PRO_KEY = no2のSELECT処理を発行・・・し、ARRAYに検索結果を1つずつ詰めていく方が良いのでしょうか? 初心者で恐縮ですが、どなたかご教授ください。
- ベストアンサー
- Oracle
- MySQL WHERE句のLIKE検索
初心者ですみません。 MySQL WHERE句のLIKE検索で、引っかかった文字列を 除いた項目を表示させるにはどうしたらいいでしょうか。 例えば、 SELECT * from [テーブル名] where [フィールド名] like '%あ%'; として、「あ」が入っているレコードを検索し、 該当しないレコードを表示させる。 どうか教えてください。よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- MYSQL バイナリーデータに変換して取得
MYSQLでSELECTして以下のテーブルのCODEカラムからバイナリーデータに変換してデータを取得したいのですが、どうしたら良いでしょうか? SELECT CODE FROM TABLE_NEME WHERE ID='XXX' <テーブルデータ> CODE(varchar型) 011A00046D0ADC4B
- ベストアンサー
- MySQL
お礼
インデックスが必要になるレベルではないので、あまり気にしていないです。 inの中が0個になるときは、inそのものを作らない形にしています。 いろいろと有難うございます。