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

(ACCESS 2000,VB6)
2つのテーブルで日付とコードが両方一致している部分をfull outer joinしたいのですが

select Table1.code,Table1.WDate,Table1.ValueA
from Table1 full outer join Table2
on Table1.Code=Table2.Code and Table1.WDate=Table2.WDate
みたいな書き方をするともちろんエラーになってしまいます
(full outer joinがaccessは使えないため,on 以下の文法がおかしいため)。

full outer joinの代わりにunion を使って
select code,WDate from Table1
full union
select code,WDate from Table2
はわかるのですがjoinの条件式の作成の部分でつまずいてしまいます。
(それからTable.ValueAが結合できていません)
わかる方がいたらご教授願います。

●質問者: uuuu_mmmm0120
●カテゴリ:コンピュータ
✍キーワード:access ON Outer SELECT vb6
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● chuken_kenkou
●20ポイント

FULL JOINは、LEFT JOIN + RIGHT JOIN + UNIONで代用できます。

ACCESSの環境がないのですが、「ON (条件式)」というように、括弧があちこちで必要だったと思います。


2 ● kn1967
●50ポイント

Table1 も Table2 もcode, WDate, ValueA というフィールドを持っていて

結果として code, WDate, Table1.ValueA, Table2.ValueA を求めたい場合だとすると・・・。

SELECT Table1.code,Table1.WDate,Table1.ValueA,Table2.ValueA AS ValueB
FROM Table1
 LEFT JOIN Table2 ON Table1.Code=Table2.Code and Table1.WDate=Table2.WDate
UNION ALL
SELECT Table2.code,Table2.WDate,Table1.ValueA,Table2.ValueA
FROM Table1
 RIGHT JOIN Table2 ON Table1.Code=Table2.Code and Table1.WDate=Table2.WDate
WHERE Table1.code Is Null
;

Table1 において code に Nullや空文字列は許可されていないものとして作成して

WHERE 条件をつけています。


※一人一回でコメント欄も使えない設定になっているので、ひとまず以上で失礼します。

関連質問


●質問をもっと探す●



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