人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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に存在する表について
同等の処理をするにはどうしたらよいでしょうか?

●質問者: yaaiju
●カテゴリ:コンピュータ
✍キーワード:access MDB SQL SQLServer vb6
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● りくっち
●80ポイント ベストアンサー

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

各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をテーブルリンク、もしくはインポートしてしまうという方法もあります。

◎質問者からの返答

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ