moousi の回答履歴

全42件中1~20件表示
  • 1テーブル内レコードの各フィールド値の差分チェック

    お世話になります。 現在、1テーブル内をログテーブル用として利用しています。 JSPでフォームを作成して各フィールド値を、 Webサイト画面上から変更可能なつくりにしており、 複数あるいずれかのフィールドの値を1つ以上変更してから、 [保存]ボタンを押下した際に、   ↓ その変更前のレコード1件と、 変更後のレコード1件を、 同じログ用テーブル内へフラグ(変更前:0、変更後:2)を それぞれ変えて、 INSERT INTOでレコードを計2件追加しています。 (あわせて、追加時のタイムスタンプをセットするフィールドもあるので、  どんどんレコードを追加可能な仕様です) そこでご質問なのですが、 この2つのレコードのみを比較して、 値が異なるフィールド名のみを、 (ときには複数フィールドにおいて値が異なるケースも有ります) SELECTなどで表示させるようなSQL文の 作り方をご存じの方がいらっしゃいましたら、 ぜひ教えてください。 なぜこのようなご質問をさせていただいたかと申しますと、 ログテーブル内の上記した2件のレコードを比較して、 どこのフィールドの値が変更されたか? を確認する際に利用したい為です。 (確認時には、phpMyAdminツールなどで直接SQL文をたたいて実行予定です) 以上、宜しくお願い致します。

  • MySQLでのフィールドの結合

    こんにちはurudakaraといいます。よろしくお願いします。 私はSQLに関する知識がほとんどありませんがよろしくお願いします。 私はopenofficeをubuntu10.04上で使っています。 業務上データが大量になったためopenofficeについているHSQLというデータベースエンジンでは動作が遅くなったので、データベースエンジンをMySQLに変えました。 するとHSQLでは問題なく結果が出ていたクエリが違う数値を出すようになりました。 まずopenofficeのbaseのテーブルで 識別番号(MySQL Administrator で見るとData Type は VACHAR(50)となってます。) 区分(MySQL Administrator で見るとData Type は DECIMAL(50,0)となってます。) というフィールドがあります。 この状態でopenofficeのクエリのデザイン画面でフィールド欄に "識別番号"+"区分" としてました。 "識別番号1234"+"区分5"の場合  HSQLの場合は結果が 12345 MySQLの場合は結果が 1239 となります。 MySQLでもHSQLの時と同じように結果を出すようにするにはどうSQL文を書けば良いでしょうか? 初心者で分からない事ばかりですが、よろしくお願いします。

    • ベストアンサー
    • mash001
    • MySQL
    • 回答数1
  • SQL:1回で期待するデータの出力をしたい

    SQLの得意な皆様、教えてください! 以下のようなデータがあったときに、mysqlで1回で期待するデータを出力することは可能なのでしょうか。 出力したいデータは、name毎に最もdateが最近のデータを抽出したいです。 groupby句やDISTINCTを試して、nameでまとめる作業はできたのですが、各nameの最も最近のデータを抽出する作業がうまくいきません。 ■入力データ(input_date) id,name,date 1,userA,10/29 2,userB,10/27 3,userA,10/25 4,userB,10/28 5,userC,10/2 ■出力したいデータ id,name,date 1,userA,10/29 4,userB,10/28 5,userC,10/2

    • ベストアンサー
    • mmei
    • MySQL
    • 回答数8
  • 特定のレコードの抽出方法について

    AのSQLでヒットし、BのSQLでヒットしないレコードを抽出したいと思います。 イメージとしては、内線(tel)30..のみを使用している社員(employee)を抽出したいと思います。 【AのSQL(内線(tel)30..を使用している社員(employee))】 SELECT `employee` FROM `w_table` WHERE `tel` REGEXP '30..' 【AのSQLの結果】 employee 10001 10001 10002 10002 【BのSQL(内線(tel)30..以外を使用している社員(employee))】 ※※※1.ここの書き方が分かりません。※※※ 【BのSQLの結果】 employee 10001 10003 【CのSQL(AのSQLを満たし、BのSQLを満たさない社員)】 ※※※2.ここの書き方が分かりません。※※※ 【CのSQLの結果】 employee 10002 上記の場合、 社員番号10001は内線30..と内線30..以外を使用しています。 社員番号10002は内線30..のみを使用しています。 社員番号10003は内線30..以外を使用しています。 この場合、社員番号10002のみを抽出したいと思います。 その為、【CのSQL】を記述しようと思ったのですが、 どのように SQL 文を記述すればよいか分からなかったので、 記述方法についてアドバイスいただける方がいらっしゃいましたら、 ご教示の程、よろしくお願いします。 なお、【AのSQL】【BのSQL】を書かず、 直接【CのSQL】一回で済む物であれば非常に助かります。 以上、よろしくお願いします。

  • 行と列の入れ替え検索(行は可変で項目を固定にしたい)のSQL文が出来な

    行と列の入れ替え検索(行は可変で項目を固定にしたい)のSQL文が出来ない 以下のテーブルがあります。 <テーブルA> UID  name --------------- 1   伊藤 2   鈴木 3   高橋 4   佐藤 <テーブルB> no UID key   value ------------------- 1  1  telno  001-01-0001 2  1  faxno  001-01-0002 3  1  nickname itochan 4  2  telno  111-11-1111 5  2  faxno  111-11-1112 6  3  nickname hashi この2つのテーブルがあります。 ・テーブルAにあるUIDはテーブルBにない場合もあります。 この場合、以下のように出力して、csvファイルにしたいのですが、可能でしょうか? 申し訳ありませんが、よろしくアドバイスお願いいたします。 UID  name  telno    faxno     nickname ------------------------------------------------- 1   伊藤  001-01-0001 001-01-0002  itochan 2   鈴木  111-11-1111 111-11-1112 3   高橋                  hashi 4   佐藤 (経緯:wordpressのユーザの一覧(users,usetmetaテーブル)をユーザ一覧としてCSV形式にして保管したいのです。抽出&登録できるプラグインがなかったので)

    • ベストアンサー
    • Troy1970
    • MySQL
    • 回答数4
  • まとめてUPDATEしたいのですが。

    まとめてUPDATEしたいのですが。 下記のようなUPDATE文を実行したいのですが、思ったとおりの動作をしません。 UPDATE table1 AS TB1 INNER JOIN table2 AS TB2 ON TB1.table2_id=TB2.id SET TB2.point = TB2.point - TB1.remainder_point, TB1.remainder_point = 0 WHERE TB1.remainder_point > 0 最初の1レコード目だけ「TB2.point = TB2.point - TB1.remainder_point」が実行されますが、 その後のレコードが「TB1.remainder_point = 0」で値が全て0になるらしく、減算処理が行われません。 上手くまとめて実行できる良い書き方は無いでしょうか。

    • 締切済み
    • kaz33
    • MySQL
    • 回答数2
  • SELECT文で、指定カラム以外の全カラムを一括指定って可能でしょうか

    SELECT文で、指定カラム以外の全カラムを一括指定って可能でしょうか? MYSQLサーバのバージョンは5.0.77です。 下記のように「*」を使用して指定テーブルの全カラムを表示する方法がありますが、 SELECT TableName.* FROM TableName 上記の逆で、指定テーブルの指定カラム以外の全カラムを一括指定って可能でしょうか? 例えば下記のような「^」みたいな、又は同等な書き方があれば良いなと思ってまして。 SELECT TableName.^ColumnName1 FROM TableName ちなみに、下記のように一つ一つ表示したいカラムを指定する方法以外です。 SELECT TableName.ColumnName2 , TableName.ColumnName3 FROM TableName よろしくお願いします。

  • xampp(php,apache,mysql)で勉強しています。

    xampp(php,apache,mysql)で勉強しています。 データーベースにつなぐときに、コマンドプロンプトやphpmyadminから接続すると つなぐことができるのですが、phpのソースからmysqlに接続しようとすると、 Access denied for user 'ODBC'@'localhost' とのエラーがでます。 grantコマンドを使って権限の設定はしています。どうすればエラーが出なくなる でしょうか?

  • xampp(php,apache,mysql)で勉強しています。

    xampp(php,apache,mysql)で勉強しています。 データーベースにつなぐときに、コマンドプロンプトやphpmyadminから接続すると つなぐことができるのですが、phpのソースからmysqlに接続しようとすると、 Access denied for user 'ODBC'@'localhost' とのエラーがでます。 grantコマンドを使って権限の設定はしています。どうすればエラーが出なくなる でしょうか?

  • xampp(php,apache,mysql)で勉強しています。

    xampp(php,apache,mysql)で勉強しています。 データーベースにつなぐときに、コマンドプロンプトやphpmyadminから接続すると つなぐことができるのですが、phpのソースからmysqlに接続しようとすると、 Access denied for user 'ODBC'@'localhost' とのエラーがでます。 grantコマンドを使って権限の設定はしています。どうすればエラーが出なくなる でしょうか?

  • xampp(php,apache,mysql)で勉強しています。

    xampp(php,apache,mysql)で勉強しています。 データーベースにつなぐときに、コマンドプロンプトやphpmyadminから接続すると つなぐことができるのですが、phpのソースからmysqlに接続しようとすると、 Access denied for user 'ODBC'@'localhost' とのエラーがでます。 grantコマンドを使って権限の設定はしています。どうすればエラーが出なくなる でしょうか?

  • キーワード \P が部分一致で検索できない。

    キーワード \P が部分一致で検索できない。 mysqlをutf8_unicode_ciで使っています。 検索キーワードに\Pと入力し、部分一致で検索すると、OMP,EEP等\Pと部分一致していない データも検索結果に表示されてこまっています。 \(バックスラッシュ)は特別な文字なので、\Pと入力しても、\(バックスラッシュ)は無視され、キーワード 「P」で検索されているようです。 今しようとしていることは、 検索キーワードを暗号化し、暗号化したキーワードで検索する処理です。 暗号化したキーワードはかなりの確立で\(バックスラッシュ)が含まれるので、 \(バックスラッシュ)を普通の文字列として検索したいです。 具体的には select * from testtbl where test like '%\\P%' このようなSQL分を実行した時、OMPやEEPが合致しないようにしたいのです。 よくわからなくなってきたので、アドバイス宜しくお願いします。

    • ベストアンサー
    • yorkies
    • MySQL
    • 回答数2
  • MySQLの検索について

    MySQLの検索について id | name | price 1 | A | 100 2 | B | 1200 3 | A | 150 4 | A | 175 5 | B | 1150 6 | C | 500 7 | C | 600 8 | D | 300 仮にこのようなテーブルがあったとします。 このテーブルを、以下の形で出力したいのです。 A | 100 A | 150 A | 175 B | 1150 B | 1200 C | 500 C | 600 next page(D以下は次のページ以降で表示) つまり、nameの項目は指定した項目数だけを出力。 1ページに表示するnameの数は決まっている。 ただし、表示されるnameにあたるレコードは数に関係なく全て出力し、nameごとにpriceでソートする。 クエリーを2回発行し、プログラム側での処理を交えれば実現できるのですが、できればDBに問い合わせる回数は減らしたいと考えています。 上記の事を1度で実現するSQLが存在する、あるいはより優れたやり方があるのでしたら、ご教授いただければ幸いです。

  • 検索について

    検索について SELECT * FROM テーブル名 WHERE 列名 LIKE '条件' を使って検索できるプログラムを作りました。 これにORの条件で列名を追加したいのですが可能でしょうか? 「条件が列名1と列名2のどちらかにあてはまる」といったような。 回答お待ちしています。

    • ベストアンサー
    • sasaq
    • MySQL
    • 回答数2
  • 文字コードの設定

    文字コードの設定 こんばんは、いつもお世話になります。 おそらく初歩的な質問なのですが、なかなか自己解決できないので、質問させてください。 サーバーによって「set names」を出入力の際に必ずしなければ化けてしまうところと、 なにもしなくても、phpmyadmin上、出入力双方まったく化けないところとがあります。 照合順は同じ条件なのですが、この両者の違いはなんなのでしょうか? 設定か何かなのでしょうか? 「set names」をコネクト毎デフォルトで発行してるのでしょうか? 自動で文字コード判別してたりできるものなのでしょうか?

    • ベストアンサー
    • noname#123003
    • MySQL
    • 回答数1
  • 現在コマンドプロンプト上でMySQLを勉強しているのですが、コマンドプ

    現在コマンドプロンプト上でMySQLを勉強しているのですが、コマンドプロンプトのclsコマンドのような画面情報を消すようなコマンドはあるのでしょうか? 回答よろしくお願いします。

  • SQLでSUMなどの関数でデータが無い時に0を返したい。

    SQLでSUMなどの関数でデータが無い時に0を返したい。 (例) SELECT SUM(項目) FROM テーブル WHERE 条件 ここで、条件に一致するデータが1件も無かった時ですが、 何かNULLのような物が1件返ってきているようです。 この条件に一致する物が無かった時に、 0を返したいのですが、可能でしょうか? よろしくお願いします。

  • phpからmysqlを使う入門サイトを探しています。

    phpからmysqlを使う入門サイトを探しています。 phpからmysqlを使う入門サイトをいくつか見ますと、コマンドラインからデータベースを作成して、その後phpでそのデータをみるところからスタートするのですが、当方の環境にはコマンドラインがないために、「その後phpでそのデータをみる」が出来ずに、学習が進んでおりません。 コマンドラインを一切利用しないphpからmysqlを使う入門サイトはないでしょうか?

  • MySQLにおいてデータフォルダの変更が以下の対処を実施したのですが変

    MySQLにおいてデータフォルダの変更が以下の対処を実施したのですが変わりません。変わっていないことは旧フォルダに適当なフォルダ(aaaa)を作りshow databases実行するとaaaaがリストされるからそのように考えています。 申し訳ありませんが、どなたかご教授ください。 【実施した対処】 ・my.iniファイルのdatadirに新ディレクトリを指定。 ・mysqlを再起動 【環境】 ・Windows Vista SP2 ・MySQL 5.0

    • ベストアンサー
    • seitank
    • MySQL
    • 回答数1
  • お世話になります。

    お世話になります。 CSV取り込みに関しての質問です。 以下の記述したphpファイルにてCSVの取り込みを行ったのですが、 $ld="LOAD DATA INFILE 'filepass/test.csv' INTO TABLE tablename FIELDS TERMINATED BY ',' "; $ld2=mysql_query($ld); $inita=True; 読み込みが出来ません。 エラー文など一切出ません。 CSVファイルの場所は問題ありません。 またmysqlのテーブルのフィールド数も問題ないと思います。 mysqlへのログインも問題ないと思います。 何が問題か正直それすら思い浮かばず質問致しました。 何が原因で読み込みが出来ないのでしょうか? 思い当たることは一通り試しました。 どうかよろしくお願い申し上げます。 mysql ver 5.0.51a