結合する2つのテーブル例
[T_2007年顧客データ]
顧客ID 名前
1 大木
2 石塚
3 南
[T_2008年顧客データ]
顧客ID 名前
1 結城
2 石塚
3 岡村
●UNION ALL での結合例
Dim SQL As String
Dim rs As Recordset
SQL = "SELECT T_2008年顧客データ.名前,T_2008年顧客データ.顧客ID FROM T_2008年顧客データ UNION ALL SELECT T_2007年顧客データ.名前,T_2007年顧客データ.顧客ID FROM T_2007年顧客データ"
Set rs = CurrentDb.OpenRecordset(SQL)
これを実行すると、下記のデータが返ります。
結城 1
石塚 2
岡村 3
大木 1
石塚 2
南 3
縦につながっていますが、「石塚」さんのレコードが2件あります。
●UNION での結合例
Dim SQL As String
Dim rs As Recordset
SQL = "SELECT T_2008年顧客データ.名前,T_2008年顧客データ.顧客ID FROM T_2008年顧客データ UNION SELECT T_2007年顧客データ.名前,T_2007年顧客データ.顧客ID FROM T_2007年顧客データ"
Set rs = CurrentDb.OpenRecordset(SQL)
これを実行すると、下記のデータが返ります。
結城 1
石塚 2
岡村 3
大木 1
南 3
「石塚」さんのレコードが1件になっていて、重複レコードが除外されているのが分かります。