アプリ版:「スタンプのみでお礼する」機能のリリースについて

下記のように2つのデータベースを連結させたいのですが
うまくいきません。
仕事で緊急なのでわかる方教えてください。
データベースはACCESSです。

テーブル1
A | B(日付)
---|----------
aa |2004/01/01
bb |2004/02/02


テーブル2
C | D(日付)
---|----------
cc |2004/03/03
dd |2004/04/04
ee |2004/05/05



結果
A | BD(日付) | C
---|----------|----
aa |2004/01/01|
bb |2004/02/02|
  |2004/03/03| cc
  |2004/04/04| dd
  |2004/05/05| ee

strSQL="SELECT A,B,null FROM テーブル1 union all SELECT null,D,C FROM テーブル2"
Set RgRs = cnn.Execute(strSQL)

上記の記述で結合させても、うまくいきませんでした。
宜しくお願いします。

A 回答 (4件)

NULLのフィールドに別名をつけてみてください。



strSQL="SELECT A,B,null AS C FROM テーブル1 union all SELECT null AS A,D,C FROM テーブル2"

この回答への補足

ありがとうございます。
あと一歩のとこまで出来ました。

結果テーブルを日付順に並び替えての表示の仕方はわかりますか?
例えば、日付(B,D)のフィールド名がそれぞれ「Date1」,「Date2」の時、ORDER BY で降順に並び替えることは可能ですか?
それと、Response.Write で表示させる方法なども教えてほしいです。

いろいろ質問してスミマセン。

補足日時:2004/09/30 20:29
    • good
    • 0

こんにちは。



> 2つのデータベースを連結
これは、2つのテーブルを連結、ということでいいですか?

また、うまくいかない、というのは、レコードセットから
結果Cの値が取れない、ということでしょうか?
以下のSQLを試してみてください。
(NULLの項目に名前をつける)

SELECT A ,B, null as C FROM テーブル1 UNION ALL SELECT null as A, D, C FROM テーブル2;

この回答への補足

ありがとうございます。
あと一歩のとこまで出来ました。

結果テーブルを日付順に並び替えての表示の仕方はわかりますか?
例えば、日付(B,D)のフィールド名がそれぞれ「Date1」,「Date2」の時、ORDER BY で降順に並び替えることは可能ですか?
それと、Response.Write で表示させる方法なども教えてほしいです。

いろいろ質問してスミマセン。

補足日時:2004/09/30 20:29
    • good
    • 0

こんばんは。



>日付(B,D)のフィールド名がそれぞれ「Date1」,「Date2」の時
フィールド名???

勝手に解釈すれば、
SELECT * FROM (今のSQL全部) ORDER BY 日付
かな?
(^^ゞ
    • good
    • 0

>例えば、日付(B,D)のフィールド名がそれぞれ「Date1」,「Date2」の時、ORDER BY で降順に並び替えることは可能ですか?



序数を使えば項目名は不要。
SELECT A,B,null AS C FROM テーブル1 union all SELECT null AS A,D,C FROM テーブル2 order by 2 DESC

>それと、Response.Write で表示させる方法なども教えてほしいです。

これはどうやってSQLの結果を取ってこようとしているかを書いて頂かないと無理です。ADOですか?
    • good
    • 0
この回答へのお礼

ありがとう御座います。
表示のさせ方もわかりました。ちなみにADOです。
taka_tetsuの回答はホントに参考になったのでまたよろしくお願いします。

お礼日時:2004/09/30 21:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!