ユニオンと同じような昨日が欲しいのですが、ユニオンだと編集ができないので、できるように結合させたいです。且つ集約されたテーブルで編集したものは、それぞれのテーブルも書き換えれされるようにしたいです、
説明がヘタですみません。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
テーブルの設計から変更しましょう。
Aテーブル、Bテーブルをユニオンクエリで集約して2つを識別するフィールドも追加しておきます。(saziさんのと同じです。)
sql
1SELECT "A" AS 識別, Aテーブル.* 2FROM Aテーブル 3UNION ALL 4SELECT "B", Aテーブル.* 5FROM Bテーブル;
このクエリからテーブル作成クエリを作成して実行すれば集約テーブルが作成できます。
編集はこのテーブルに対して行います。(テーブルですの更新、追加はできます。)
Aテーブル、Bテーブルは不要なので削除します。
下記のクエリを作成して、Aテーブルと名付けます。
sql
1SELECT * 2FROM 集約テーブル 3WHERE 識別="A";
下記のクエリを作成して、Bテーブルと名付けます。
sql
1SELECT * 2FROM 集約テーブル 3WHERE 識別="B";
クエリもテーブルとまったく同じように扱えますので、問題はまったくありません。
集約テーブルの編集は即、Aテーブル、Bテーブルに反映されます。
投稿2020/02/19 12:16
編集2020/02/20 04:38総合スコア34053
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/20 03:15
2020/02/20 04:34
2020/02/20 04:57
2020/02/20 08:58
2020/02/20 09:08
2020/02/20 09:42
0
union でデータを取得し、更新はそれぞれのテーブルに対して行う。
どちらのテーブルのデータかが分かるように、unionで識別を作っておく。
SQL
1select 'A' as テーブル識別, [必要なカラム]・・・ 2from tableA 3union all 4select 'B', [必要なカラム]・・・ 5from tableB
投稿2020/02/19 08:56
総合スコア25300
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/20 03:07
2020/02/20 03:17 編集
2020/02/20 09:45
2020/02/20 09:49
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。