
2つのテーブルがあります。
A:生徒のデータ
B:先生のデータ
AにはBのデータと紐付けしています。AとBそれぞれにユニークなキーが自動採番で振られます。
行いたい事は新しい生徒のデータが加わった際に、先生のデータが無ければ先生のデータも加え、生徒のデータも加えるということを行いたいと思います。
そこで、AとBを組み合わせたビューを作り、そのビューにINSERTをするとエラーが発生します。
そこで、考えた方法は
1. BのデータをSELECTで先生のデータを探す。(あればキーを取得後、3へ)
2. 無ければデータ追加し、自動採番で振られるキーを再度SELECTで取得。
3. 2で得られたキーを使って生徒のデータと共にAにINSERT文を行う。
です。なんとかできますが、すっきりしません。もっと効率的でスマートな方法がないのでしょうか?
ご教授お願いします。
No.1ベストアンサー
- 回答日時:
二つのテーブルを同時にインサートする事は
不可能な為、やはり2回のインサート文が必要ですね
(1)Bのテーブルへのインサートを行いその時にLEFT JOINで
Bのテーブルを紐付け、IDがNULL の場合をインサートの
条件とすれば、1と2の作業が行えます。
(2)(1)同様にBのテーブルをJOINしインサートを行えば(1)の処理で
データが存在する為、データは反映されると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- その他(プログラミング・Web制作) 大学のゼミのレポートがムカつきます。 R言語というデータ分析に特化したプログラム言語を用いた授業の課 1 2023/06/29 00:50
- Excel(エクセル) Excel同士のデータの突合 3 2023/08/07 16:34
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Excel(エクセル) Excelでデータを抽出するに良い方法 9 2023/02/06 12:42
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- MySQL mysqlで INSERT と SELECTの用途は 1 2022/04/01 00:45
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Visual Basic(VBA) エクセルVBA 3 2022/06/23 20:00
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
このQ&Aを見た人はこんなQ&Aも見ています
-
今年はじめたいことは?
今年はこれをはじめたい!ということを教えてください!
-
おすすめの美術館・博物館、教えてください!
美術館・博物館が大好きです。みなさんのおすすめをぜひお聞きしたいです。
-
コンビニでおにぎりを買うときのスタメンはどの具?
コンビニでおにぎりを買うとき、何の具材を選ぶことが多いですか?
-
人生でいちばんスベッた瞬間
誰しも、笑いをとろうとして失敗した経験があると思います。
-
思い出すきっかけは 音楽?におい?景色?
記憶をふと思い出すきっかけは 音楽、におい、景色 どれですか?
-
select insertで複数テーブルから値を取得したい
Oracle
-
usingの意味がわからないのですが
SQL Server
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
-
4
型 varchar から型 numeric への変換エラー。
その他(データベース)
-
5
テーブルに主キーを作らないデメリットは?
その他(Microsoft Office)
-
6
【SQL】他テーブルに含まれる値に合致する行を抽出
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ビューのソートについて
-
Oracleで上書きImportはできま...
-
テーブルで一番古いレコードだ...
-
Accessでの稼働日数計算の方法
-
削除したテーブルを元に戻すこ...
-
Accessでデータシートに同じデ...
-
Accessのテーブルデータを一気...
-
アクセス レコードセットを更...
-
MySQLのviewはデータをコピーす...
-
時間の比較についてアドバイス...
-
IF NOT EXISTを使用するINSERT文
-
マテリアライズドビューとスナ...
-
Access VBAからエクセルに出力...
-
このISAMでは、リンクテーブル・・
-
ORA-01401が表示され、データが...
-
重複クエリを使ったデータ削除
-
Accessの処理速度を速めるため...
-
accessでレコード更新直後の反...
-
ACCESSで容量が50MBになった...
-
SQLでUPSERTを一度に複数行やる...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessでデータシートに同じデ...
-
Accessのテーブルデータを一気...
-
ビューのソートについて
-
テーブルで一番古いレコードだ...
-
Oracleで上書きImportはできま...
-
アクセス レコードセットを更...
-
このISAMでは、リンクテーブル・・
-
住所のDBテーブル、マスターの...
-
結合テーブルでINSERTする方法...
-
同一テーブルのデータを参照し...
-
マテリアライズドビューとスナ...
-
htmlコードで書かれた表にphpで...
-
accessでレコード更新直後の反...
-
IF NOT EXISTを使用するINSERT文
-
Access VBAからエクセルに出力...
-
ORA-01401が表示され、データが...
-
構文エラー : 演算子がありませ...
-
ERROR1062:Duplicate entry.......
-
ODBC接続で新しいレコードを追...
-
「クリップボードにコピーされ...
おすすめ情報