SQLクエリー
SQLクエリー
SQL文を使用した、SQL操作の連続実行
複数テーブルを結合し、新規テーブルを作成(保存)する
1)ユニオンクエリーで複数テーブルから任意のフィールドを抽出した結果を、別名テーブルとして保存する方法。
1-1. テーブル作成クエリから、保存済みユニオンクエリを呼び出して実行する。
1-1-1. まず、ユニオンクエリで抽出、結合を実行。
SELECT 番号, 名前 FROM 名簿1 UNION SELECT 番号, 氏名 FROM 名簿2 UNION SELECT 番号, 名前 FROM 名簿3 ;
1-1-2. このまま、続けて抽出結合結果を保存できればいいんですが、難しいようなので「Q_UNION名簿1TO3」と名前を付けて保存します。もちろん条件を指定して結合することも可能。
1-1-3. 保存した「Q_UNION名簿1TO3」クエリをデータソースとして、新規にテーブル作成クエリを作成し「Q_INTO名簿4」などと名前を付けて保存します。
SELECT 番号, 名前 INTO 名簿4 FROM Q_UNION名簿1TO3 ;
1-1-4. このテーブル作成クエリ「Q_INTO名簿4」を実行すると、「Q_UNION名簿1TO3」をデータソースとした”名簿4”テーブルが作成されます。
1-2. サブクエリーとして実行する。
1-2-1. テーブル作成クエリーへユニオンクエリーを入れ子(サブクエリー)として実行。
SELECT 番号, 名前 INTO 名簿4 FROM ( SELECT 番号, 名前 FROM 名簿1 UNION SELECT 番号, 氏名 FROM 名簿2 UNION SELECT 番号, 名前 FROM 名簿3 ) ;
※通常VBA(またはVB)を使うのが常套手段と思いますが、VB2005使うのがメンドイ、及び、SQL文だけで対処できた方が手軽と考えいろいろ試行錯誤してみました。
※Accessでは、拡張SQLとかストアドプロシージャといった機能の代替は「VBA(またはVBなど)で処理しなさい」ってことらしい。
▲上へ
データベース・SQL文・SQLクエリー(query)関連リンク
wiki内関連ページ
- SQL文:SQLステートメント
- SQLステートメント
- SQLクエリー
- SQL文:ユニオンクエリー
- SQL文:パススルークエリー?
- SQL文:データ定義クエリー
- SQL文:サブクエリー?
- VB2005リファレンス(覚え書き)
外部リンク
現在なし
▲上へ
2007年09月17日(月) 10:41:21 Modified by cafeboy1