質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

1回答

353閲覧

テーブルBに存在しないテーブルAのデータをINSERTしたい

syosinsya001

総合スコア1

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2022/01/28 05:51

テーブルA
花コード 名称
01 さくら
02 ばら
03 きく

テーブルB
日付 花コード 数量 
2022/01/27 01 50
2022/01/27 02 10
2022/01/27 03 150
2022/01/28 01 100

上記のようなテーブルAとBがあります。
やりたいことは、日付を指定して、テーブルAのデータを全てテーブルBにセットしたいです。
しかし、指定した日付で既にデータがある場合もあります。
例えば、2022/01/28のデータを作りたい場合
花コード01は既にデータがあるので、花コード02と03を新規に作成したいです。

現在のSQL文
select * from テーブルA"
Do Until .EOF
select * from テーブルB where 日付 = "2022/01/28" and 花コード = テーブルA.花コード
if EOF then
INSERT into テーブルB 日付 = "2022/01/28", 花コード = テーブルA.花コード, 数量=0
end if
Loop

初心者のため、このような記述の仕方しか思いつきませんが、
サブクエリなどを使用して1つのSQLで記述することは可能なのでしょうか?

どうぞよろしくお願い致します。
ボールドテキスト

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2022/01/28 05:57

SQLとひとえに言ってもものやバージョンによって方言があり、機能も違います。 想定するDBの種類、バージョンを提示されたほうがアドバイスも得やすくなります
syosinsya001

2022/01/28 07:26

始めての質問で、要領が分からずにすみませんでした。 VB6 ACCESSです。 よろしくお願い致します。
m.ts10806

2022/01/28 21:51

質問は編集できます。質問タグにも追加を。 しかし、ACCESSだとかなり制限多そうですね。
guest

回答1

0

ベストアンサー

sql

1INSERT INTO テーブルB(日付, 花コード, 数量) 2select #2022/01/28#, 花コード, 0 from テーブルA 3where not EXISTS(select * from テーブルB 4 where 日付 = #2022/01/28# 5 and 花コード = テーブルA.花コード); 6

スキーマ定義が示されていないので、日付カラムは、日付型としてSQLを作成しています。
文字列型なら
#2022/01/28#

"2022/01/28”
としてください

投稿2022/01/29 01:21

編集2022/01/29 01:30
takanaweb5

総合スコア358

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

syosinsya001

2022/02/03 05:58

お礼が遅くなり大変申し訳ありませんでした。 おかげ様でデータを登録することが出来るようになりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問