• ベストアンサー

ASPによるSQL構文で2つのデータベースを連結

下記のように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) 上記の記述で結合させても、うまくいきませんでした。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.4

>例えば、日付(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ですか?

tei_tatsu
質問者

お礼

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

その他の回答 (3)

回答No.3

こんばんは。 >日付(B,D)のフィールド名がそれぞれ「Date1」,「Date2」の時 フィールド名??? 勝手に解釈すれば、 SELECT * FROM (今のSQL全部) ORDER BY 日付 かな? (^^ゞ

  • siteuma
  • ベストアンサー率28% (77/271)
回答No.2

こんにちは。 > 2つのデータベースを連結 これは、2つのテーブルを連結、ということでいいですか? また、うまくいかない、というのは、レコードセットから 結果Cの値が取れない、ということでしょうか? 以下のSQLを試してみてください。 (NULLの項目に名前をつける) SELECT A ,B, null as C FROM テーブル1 UNION ALL SELECT null as A, D, C FROM テーブル2;

tei_tatsu
質問者

補足

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

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

NULLのフィールドに別名をつけてみてください。 strSQL="SELECT A,B,null AS C FROM テーブル1 union all SELECT null AS A,D,C FROM テーブル2"

tei_tatsu
質問者

補足

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