• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2つのテーブルの結合に関してです)

2つのテーブルの結合で困っています

このQ&Aのポイント
  • PHP5,MySql5.0.33にて開発を行っています。2つのテーブルの結合部分で問題が発生しています。
  • 上記2つのテーブル(TABLE1/TABLE2)から、TABLE1のDATE1=2/27より過去の行とTABLE2のDATE2=2/27より過去の行を取得したいのですが上手くいきません。
  • SELECT DISTINCT TABLE1.* FROM TABLE1,TABLE2 WHERE TABLE1.ID=TABLE2.ID AND TABLE1.ID=1 AND (TABLE1.DATE1<='2009/2/27' OR TABLE2.DATE2<='2009/2/27')

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.2

こんな感じでどうでしょう SELECT * FROM TABLE1 WHERE ID=1 AND DATE1<='2009/2/27' UNION SELECT * FROM TABLE2 WHERE ID=1 AND DATE2<='2009/2/27'

niko06
質問者

お礼

出来ました! UNIONの存在を忘れていました… 大変勉強になりました ありがとうございますm(_ _)m

その他の回答 (2)

回答No.3

要件が曖昧だと思うのですが? まず、DATE1、DATE2は月日しか示されていませんが、date型なのですか? 「2/27より過去」というのは、「2/27」を含むのですか?含まないのですか? 提示されたSQLでは「2/27」を含むようですが、得たい結果を見ると、TABLE1は「2/27」を含み、TABLE2は「2/27」を含まないという矛盾した内容に見えるのですが?

niko06
質問者

補足

ご回答有難う御座います 記述不足で申し訳有りません DATE1/DATE2はdate型です 「2/27より過去」というのは、「2/27」を含みます (「2/27以下」と書いた方が良かったですね。すいません…) 得たい情報はID=1の2/27以下なので TABLE2では2/26のデータ(1行目)が取れてくるといった感じです

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

どういう結果が返ってきて欲しいのでしょうか

niko06
質問者

補足

ご回答有難う御座います 結果書かず申し訳有りません ---------------------------------- ID DATE1 DATE2  COUNT ---------------------------------- 1  2/27  2/20  10 ←TABLE1より 1  2/21  2/26  5  ←TABLE2より ---------------------------------- となるように考えています 宜しくお願い致します

関連するQ&A