私は参加しようとしている2つのテーブルを持っています。2つの列に2つのMySQLテーブルを結合する方法?
表1:T1
|id|date|hits|
--- ----- ------
A1 01 2
A1 02 2
A2 02 3
表2:T2
|id|date|runs|
--- ----- ------
A1 01 1
A2 02 0
A3 02 2
出力:
|id|date|hits|runs|
--- ----- --- ---
A1 01 2 1
A1 02 2 0
A2 02 3 0
各IDは、複数の日付を持っており、日付ごとに異なるヒット/ランがあります。
私が試してみました:
SELECT t1.*,t2.*
FROM Table1 t1
LEFT JOIN Table2 t2 ON (t1.id=t2.id) AND (t1.date=t2.date);
これは私に巨大なテーブルを提供します。 T1よりも行数が多い。
T2よりもT1よりも多くの行がありますが、T1の日付、つまりLEFT JOINだけが気になります。
こんにちは、t1.id = t2.idを満たす複数の値の行がありますが、t1.id = t2.id ** AND ** t1.date = t2.dateの一致は1つだけです。私は説明のためにコメントに値を追加しました – user3007270
ありがとう。私が持っていた問題は、 '(t1.id = t2.id)AND(t1.date = t2.date)'という制限を満たす行が1行しかないと思っていたのですが、そうではないことがわかったデータを見直すと、それは有り難いです。 – user3007270