- - PR -
JDBCのSQL文の発行
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-11-16 22:58
いつもお世話になっています。MVCモデルで行っているのですが、textで入力した顧客IDを検索してのレコードを取り出したいのですが、内部結合してすべての項目を取り出すSQL文はどのようなソースコードとなるのでしょうか?(mysqlを使用しています)基本的な事ですいません。どなたかご教授願います。
Beansのプロパティ 顧客ID : InKokyakuid -スキーマ定義- テーブル名 1 :kokyakukanri 顧客ID : kokyakuid 氏名 : shimei 携帯番号: keitai (サブ)会社ID: kaishaid テーブル名 2 :kaishakanri 会社ID: kaishaid 会社名: kaishamei 住所: juusho |
|
投稿日時: 2003-11-17 06:14
どのようなクエリを試して見られましたか?
そして結果はどうでしたか? |
|
投稿日時: 2003-11-17 13:19
これは、SQL文を聞かれているのですか?それとも、MVCでの組み方を聞かれているのですか?MVCの構造にもよるので、どのようなソースにしてよいのか、そのMVCを見てみる必要があります。また、MVCを使用してコードを書くとなると、そこにはフレームワークも存在していて・・・、うーん、なんと答えてよいやら・・・SQL文は通常、interfaceにおいて、そこから変数をとってくるなんてことをします。そのようなことを聞かれていますか?
もし、SQL文のことであれば、表に変数をおいて、それでその表の変数に対して、カラム名を指定してあげて、最後に、WHEREの条件でマッチさせます。また、検索IDは、通常、バインド変数(オラクルでいえばですけど・・・)を使用して、その変数にIDの値を実際にいれて、検索をするという形で行います。(DBのパフォーマンスを向上させるため)。 質問の内容を勘違いしていたら、すいません・・・ |
|
投稿日時: 2003-11-17 22:32
皆様、書き込み有難う御座います。SQL文そのもの自体をお尋ねしたしたかったのです。不明確な文章ですいませんでした。
select (kokyakuid,shimei,keitai,kaishaid,kaishamei,juusho)from kokyakukanri,kaishakanri where kokyakukanri.kaishaid = kaishakanri.kaishaid これで、テーブルの結合ですべての項目表示されると思いますが、 beansのパラメータ(InKokyakuid) とkokyakuidが一致するレコード検索してくるには、上記のSQL文にwhere kokyakuid = InKokyakuidをどう付け加えたらよいのでしょうか? そのまま上記の文に付け加えるだけでいいのでしょうか? SQL初心者の私です。何卒宜しくお願いします。 |
|
投稿日時: 2003-11-17 22:58
下記参照のこと。
仕事でやっているのでしたら、周りに聞きましょう。 http://www003.upp.so-net.ne.jp/kayo3/link/db/top.html |
|
投稿日時: 2003-11-17 23:07
クエリーとしては、単に “AND” で続ければいいですね。
コードとしては、InKokyakuid の内容を取り出して、 パラーメータとして渡す必要があります。 1、文字列として連結してクエリーを生成する。 2、PreparedStatement を使用して、setXXX を使う。 1の方が簡単ですが、SQLインジェクションに注意する必要があります。 |
|
投稿日時: 2003-11-18 01:32
変数名を使用してみてください。すべて書いてしまうと、だれが開発をしているのかわからなくなってしまうため、概略だけ述べるとして
テーブルに変数を設定します。 from table1 a, table2 b でもって、2つのテーブルで一致するカラムをwhere条件で、まとめる・・・。たとえば、カラム名がcol1だとすると、 where a.col1 = b.col2 なんて感じです。 実際には、もっとほかにいろいろと考えないといけないことがあって、left outer joinとか、right outer joinとか(あれ、これってオラクルだけかな?)詳しくは専門書を確認してみてください。あと、実際にDBをSQLで直にたたきにいくと結構DBは簡単です。おそらく、1週間程度で習得できるものなので、一度試してみるのもいいかもしれません。 |
|
投稿日時: 2003-11-18 12:30
皆様有難う御座いました。解決しました。また宜しくお願いします。
|
1
