Access(JetSQL)で列を単純にくっつけるSQLを書く方法はありますか?


tableA
---
a
b
c

tableB
---
d
e

tableC
---
f
g
h

3つのテーブルをくっつけたあと↓
---
a d f
b e g
c  h

というような表を取得したいと思っています。


SQLServer での方法は
http://www7.big.or.jp/~pinball/discus/sqls/28607.html
で見つけたのですが、
VB6を使ってACCESSのMDBに存在する表について
同等の処理をするにはどうしたらよいでしょうか?

回答の条件
  • 1人2回まで
  • 登録:2006/12/06 23:39:06
  • 終了:2006/12/07 12:20:35

ベストアンサー

id:rikuzai No.1

りくっち回答回数1366ベストアンサー獲得回数1412006/12/07 10:00:03

ポイント80pt

はずしていたらすみません。

各tableにあるa~hをデータ、

そのデータが格納されているフィールドをそれぞれ

tableA:項目1、tableB:項目2、tableC:項目3

として、

それぞれのtableに「id(オートナンバー)」フィールドを付与します。

(この作業自体がNGだったら申し訳ないです)


以上の条件で下記のSQL文ではどうでしょうか。


SELECT tableA.項目1, tableB.項目2, tableC.項目3

FROM (tableA LEFT JOIN tableB ON tableA.id = tableB.id) LEFT JOIN tableC ON tableA.id = tableC.id;


tableAのデータ数全体を基準に、tableB、tableCの空白行も表示する形になります。



また、Excelを使ってもいいなら、

単純に各tableの項目をコピーしてExcelに順番に貼り付け、

そのSheetをテーブルリンク、もしくはインポートしてしまうという方法もあります。

id:yaaiju

Access で Full JOIN できないのでどうしようかと思っていたのですが、tableAのデータ数全体を基準とするという考え方を利用すればうまくいきそうです。

とても参考になりました。ありがとうございます。

2006/12/07 12:17:27

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません