MySQLでのSQLの書き方とテーブルの更新方法について教えてください
- MySQLでのSQLの書き方とテーブルの更新方法について教えてください。
- テーブルAとテーブルBがあり、テーブルAにふりがな氏名(姓)とふりがな氏名(名)の2項目を追加してテーブルBのふりがなを対応するテーブルAのふりがなに更新したいです。
- 具体的なSQLの書き方や手順を教えていただきたいです。
- ベストアンサー
mysql でのsqlの書き方について教えてくださ
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
姓・名の組み合わせが主キー候補であれば(重複・NULLがない) update テーブルA a , テーブルB b set a.ふりがな氏名(姓)=b.ふりがな氏名(姓) , a.ふりがな氏名(名) = b.ふりがな氏名(名) where a.氏名(姓)=b.氏名(姓) and a.氏名(名)=b.氏名(名) で、いけませんか? テーブルBで、姓名の組み合わせに重複があったらお手上げです。
その他の回答 (1)
- SaKaKashi
- ベストアンサー率24% (755/3136)
テーブルAに項目追加するのはいいけど、テーブルBが更新されたらどうするの? テーブルAに項目追加しないでテーブルAとテーブルBを結合して使えばなんの問題もないでしょう。
補足
説明が足りず申し訳ありません。 テーブルBはCSVでもらった一時的なものです。 CSVをテーブルBとして取り込む前提です。 テーブルAを作成した後に顧客からふりがなも頼むと 納品直前になってデータがきたものですから。。。。。。 一致していないものは未入力データとして顧客に入力して 貰う予定です。
関連するQ&A
- mysqlのsql文について教えて下さい
mysqlのsql文について教えて下さい 下記のようなテーブルとデータがあった場合に どうやれば 2,次郎だけを抽出できますか? 本日日付(2010-08-06)が 既にテーブルBにdateが存在する場合は 3,1,2010-08-04 3,1,2010-08-06を 対象外にしたいです。 Aテーブル id,user 1,太郎 2,次郎 3,3郎 Bテーブル targetid,homonid,date(datetime型) 3,1,2010-08-04 3,1,2010-08-06 3,2,2010-08-05 下記だと2010-08-04にヒットしてしまい(当たり前?)動作しません。 select distinct a.* from tblA a, tblB b where date_format(b.date, "%Y-%m-%d") <> "2010-08-06" ;
- 締切済み
- MySQL
- エクセルでアドレス帳を製作しているのですが・・・
エクセルでアドレス帳を作成しているのですが、 A1セル:氏名 B1セル:フリガナ C1セル:姓 D1セル:名 の項目名を入れてA2~100をアドレス帳として登録 【C2:姓】【D2:名】に入力した文字を【A2:氏名】の列に結合反映するようにA2~100に関数を=C2&D2&E2と登録しています。 例えば C2には 山田 D2には太郎 と入れたら A2には 山田太郎 と入力されます これをA2の姓と名の間に半角スペースを自動で入れてC2とD2に入力した文字のフリガナもB2に自動で入力させる方法を探しています A2 B2 C2 D2 山田太郎 ヤマダタロウ 山田 太郎 ↓ A2 B2 C2 D2 山田 太郎 ヤマダタロウ 山田 太郎 解かりずらい説明ですいませんが、アドバイスよろしくお願い致しますm(__)m
- ベストアンサー
- オフィス系ソフト
- SQL SERVER2005のJOINについて
はじめて投稿させていただきます。 SQL SERVER2005のJOINの仕方で困っています。 どなたか、アドバイスをお願いできないでしょうか。 テーブルA CD NAME KBN 1 山田太郎 1 2 山田花子 1 3 山田次郎 2 4 山田五郎 1 テーブルB CD NENGETU DAY1 DAY2 DAY3 ~ DAY31 1 200811 ◎ ◎ 1 200812 ◎ 3 200810 3 200811 ◎ 4 200811 ◎ 欲しい結果の条件と結果は テーブルAは、KBN = 1 のみ テーブルBは、NENGETU = 200811 但し、テーブルBには、テーブルAに存在しないCDもあります。 CD NAME KBN DAY1 DAY2 DAY3 ~ DAY31 1 山田太郎 1 ◎ ◎ 2 山田花子 1 4 山田五郎 1 ◎ 以上の結果を取得したいSQLを書きたいのですが、 Select CD,NAME,KBN,DAY1,DAY2,DAY3~,DAY31 From テーブルA LEFT OUTER JOIN テーブルB On テーブルA.CD = (Select テーブルB.CD From テーブルB Where テーブルB.NENGETU = 200811) Where テーブルA.KBN = '1' Order By テーブルA.CD とかでやると、CDの1が複数出たりして おかしい結果になってしまいます。 どなたか、アドバイスをお願いできないでしょうか。
- ベストアンサー
- SQL Server
- Accessのレポートの文字にカッコを追加したい。
Accessのレポートの文字にカッコを追加したい。 レポートに、名前とふりがなを表示させるのですが、ふりがなにカッコを付ける方法がわかりません。 どうすればいいのでしょうか? 【今】 山田 太郎 やまだ たろう ↓ 【このようにしたい】 山田 太郎 (やまだ たろう) レポートの項目(テーブル)は、 名前_漢字 と 名前_ふりがな に別れています。 名前_ふりがな のところの前後にカッコを付けたいです。 とりあえず、書式のところで ="( " & [名前_ふりがな] & " )" 見たいな事はしてみたのですが・・・ どうすれば、希望どおりになるのでしょうか?
- ベストアンサー
- オフィス系ソフト
- SQLのテーブル結合
SQLのSELECTについて質問です。 テーブルA、B、Cから情報を取得し、下記の画面イメージを表示させたいのですが、 どのようにテーブルを結合すればよいか判りません。 どなたかご教示ください・・・。よろしくお願いします。 #テーブルCから組名を取得するような処理は画面表示のロジックで行います。 #テーブルA、Bの結合についてのみ、教えていただきたいです。 条件 ・氏名と、所属情報の○×を表示したい ・DISTINCT等、重たい処理は避けたい 画面イメージ |氏名 |赤組|白組|青組| ------------------------------ |山田太郎|○ |× |× | |山田花子|× |○ |○ | テーブルA |個人ID|氏名 | -------------------- |000001|山田太郎| |000002|山田花子| テーブルB |個人ID|組コード| -------------------- |000001|1110 | |000002|1111 | |000002|1112 | テーブルC |組コード|組名| ------------------ |1110 |赤組| |1111 |白組| |1112 |青組|
- ベストアンサー
- Oracle
- SQLの問題です。
以下のような二つのテーブルがあります。 社員テーブル 社員番号 社員氏名 1 花子 2 太郎 所属テーブル 社員番号 所属番号 1 10 1 20 2 30 欲しいのは以下の結果です。 1 花子 2 太郎 以下のSQLを実行すると、 SELECT distinct a.社員番号, a.社員氏名, b.所属番号 FROM 社員 a,所属 b where a.社員番号 = b.社員番号 order by 所属番号 1 花子 1 花子 2 太郎 となってしまいます。 先に述べたとおりの結果を取得するにはどういうSQLを書いたらいいでしょうか? お知恵を貸してください。宜しくお願いします。 Oracle8iを使用しています。
- ベストアンサー
- その他(データベース)
- SQLの使用方法について(動的な結合条件の変更方法について)
SQL Server2005を使用しています。 以下のような動作を実現したいのですが、どのようなSQLとなるのでしょうか? 以下のような構成のテーブルがあるとします。 テーブルA 分類1(PK) 分類2(PK) 名前 1 空文字 山田 1 1 山田太郎 1 2 山田花子 2 空文字 鈴木 テーブルB 番号(PK) 分類1 分類2 100 1 空文字 101 1 1 外部から受け取るパラメータはテーブルBの番号です。 次の番号を受け取った際に、以下の結果を取得したいのですが、 どのようなSQLとなるのでしょうか? 番号100 ↓ 山田 山田太郎 山田花子 番号101 ↓ 山田太郎 以下の様なSQLを作成して試してみたのですが、番号2をJOINの条件として指定しているため、 番号100の時に望む結果を得ることが出来ませんでした。 SELECT * FROM テーブルA AS A LEFT JOIN ( SELECT * FROM テーブルB WHERE 番号 = パラメータ ) AS B ON A.分類1 = B.分類1 AND A.分類2 = B.分類2 サブクエリのB.分類2が空文字の場合は、JOINの条件から省くようなことは可能なのでしょうか?
- ベストアンサー
- SQL Server
- 一覧の表示で名前をデータ数を表示したいのですが…
お世話になります。 度々申し訳ないのですが、質問させてください。 現在mysqlに格納したデータの一覧を表示するページを作っているのですが、表示結果が思うようにいかず困っています。 環境:Mysql 5.1.22-rc,PHP 5.2.5 データベース:test01 main -------------------------------------------------------- id name kana 1 太郎 たろう 2 次郎 じろう 3 花子 はなこ -------------------------------------------------------- sub2 -------------------------------------------------------- id a_sakuhin title 1 data_1 青空 1 data_2 夕日 1 data_3 流星 3 data_1 町並み 3 data_2 列車 -------------------------------------------------------- というテーブルがあります。 それを一覧表示で ・太郎 (3) ・次郎 (0) ・花子 (2) という具合にしたいのですが、どうしても()の中が全件合わせた結果になり ・太郎 (50) ・次郎 (50) ・花子 (50) という様になってしまうのです。 どういったsql文を書けばよいのかアドバイスを頂けると嬉しいです。 よろしくお願いいたします。
- 締切済み
- MySQL
- SQLで二つのテーブルを統合したい
お世話になります。 Access2000のSQLで質問させて下さい。 下記のAとBのテーブルがある状態で、二つを統合した Cを生成したいのですが、どのようにSQLを作成したらよいでしょうか? お手数でもうしわけございませんが、SQL文で回答頂ければ助かります。 --テーブルA--- ID 名前 11 やまだ 12 さかもと --テーブルB--- ID 名前 25 きのした 26 つちや --C-- ID 名前 11 やまだ 12 さかもと 25 きのした 26 つちや
- ベストアンサー
- その他(プログラミング・開発)
- 【エクセル】リストの照合について教えてください!!
sheet1に、下記の様に600件の氏名が書いてあります。 A B 1 山田太郎 2 鈴木花子 ・・・ 600 佐藤次郎 sheet2に、地域と氏名がずらっと書いてあります。 A B C D E 東京都 神奈川県 埼玉県 千葉県 茨城県 山田太郎 鈴木太郎 山田花子 佐藤次郎 ・・・ このsheet2の地域を、sheet1のC列に下記の様に入れたいのですが、 どの様に行ったら良いでしょうか? みなさんのお知恵をください!!宜しくお願い致します。 A B C 1 山田太郎 東京都 2 鈴木花子 神奈川県 ・・・ 600 佐藤次郎 埼玉県
- 締切済み
- オフィス系ソフト
お礼
回答のとおり実行したところバッチリでした!!! 無事、ふりがながテーブルAに挿入されました。 大変助かりました。ありがとうございます。