- - PR -
カラム not found について
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-03-04 12:45
いつもお世話になっています。今回も宜しくお願いします。
servletからmysqlに接続し、項目を取得するのですが、項目がないといわれます。 実際のテーブルには項目が存在するのですが、 テーブル名.項目名とすると項目がないと言われます。 なぜでしょうか。 以下sql文とテーブルの構造です。 new StringBuffer( "select s.tnt_dt as tnt_dt," + "s.back_number as back_number," + "m.j_name as j_name,s.sanka_flg as sanka_flg,s.mod_dt as mod_dt " + "from member m,sanka_actual s " + "where s.tnt_dt ='" + rsetTntDate.getString("tnt_dt") + "'and m.back_number = s.back_number " + " group by s.tnt_dt,s.back_number"); テーブル構成 +-------------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+---------+------+-----+---------+-------+ | back_number | int(11) | | PRI | 0 | | | tnt_dt | char(9) | | PRI | | | | sanka_flg | char(1) | YES | | NULL | | | mod_dt | date | YES | | NULL | | +-------------+---------+------+-----+---------+-------+ 宜しくお願いします。 |
|
投稿日時: 2004-03-04 13:30
提示されているテーブルレイアウトはsanka_actualのものですよね。
もう1つのmemberテーブルにはj_name,back_numberがあるのでしょうか? また、これはご質問と関係ありませんが、StringBufferを使用している意味が あまりないように見えます・・・。 |
|
投稿日時: 2004-03-04 14:40
taroさん、回答ありがとうございます。
返信します。 >もう1つのmemberテーブルにはj_name,back_numberがあるのでしょうか? あります。以下の通りです。 +-------------+----------+------+-----+------------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+----------+------+-----+------------+-------+ | back_number | int(11) | | PRI | 0 | | | back_name | char(30) | | | | | | e_name | char(30) | | | | | | j_name | char(30) | YES | | NULL | | | div | char(30) | YES | | NULL | | | del_flg | char(1) | YES | | NULL | | | mod_dt | date | | | 0000-00-00 | | +-------------+----------+------+-----+------------+-------+ >StringBufferを使用している意味が >あまりないように見えます・・・。 まだjavaを勉強したてで、みようみまねで作成しています。 よろしければ、なぜ意味がないのかも教えていただけますでしょうか。 宜しくお願いします。 |
|
投稿日時: 2004-03-04 15:01
ご質問の内容とは別件ですが、SQLに問題がありそうですね。
group by s.tnt_dt,s.back_number としておきながら、 select ・・・, ・・・, m.j_name as j_name,s.sanka_flg as sanka_flg,s.mod_dt as mod_dt なんてできないと思いますが。 もしかして group by は order by の間違い? [ メッセージ編集済み 編集者: たーぞう 編集日時 2004-03-04 15:12 ] |
|
投稿日時: 2004-03-04 15:28
すみません、SQLを実行してみたところ、たーぞうさんの言うとおり、
エラーになりますね。気付きませんでした。 下記の記事が参考になると思います。(例4と同じエラーが発生します) 集計を行う「GROUP BY」句 http://www.atmarkit.co.jp/fnetwork/rensai/sql03/sql1.html また、StringBufferはappendメソッドを使うことによって文字列を"+"で 結合しなくて済むのがメリットだと思いますので、"+"と併用するようでは あまり意味がないのではないかと思います。分かりにくい書き方ですみません。 ご参考までに、StringBufferのjavadocを貼っておきます。 http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/StringBuffer.html |
|
投稿日時: 2004-03-04 15:36
TAROさん、たーぞさんありがとうございます。
試してみます。 これからもいろいろアドバイスを頂けたら 幸いと思います。 取り急ぎお礼まで。 |
|
投稿日時: 2004-03-04 15:36
TAROさん、たーぞうさんありがとうございます。
試してみます。 これからもいろいろアドバイスを頂けたら 幸いと思います。 取り急ぎお礼まで。 |
1
