de-vraag
  • 質問
  • タグ
  • ユーザー
通知:
報酬:
登録
登録すると、質問に対する返答やコメントが通知されます。
ログイン
すでにアカウントをお持ちの方は、ログインして新しい通知を確認してください。
追加された質問、回答、コメントには報酬があります。
さらに
ソース
編集
 Alex
Alex
質問

相関サブクエリ、SQLに基づく表の結合

私は、以下で説明する2つのテーブルを結合する必要があります:

Table1:
ID  Date       Info1
1   1/29/2011     i10
1   1/30/2011     i11


Table2:
ID  Date       Info2
1    1/31/2011   i2

ID、月、年によって識別される表2のレコードを、同じID、月、年によって識別される表1のレコードに結合することを残したいが、最後に利用可能なレコード日付を結合レコードとして使用する。例えば、上記のデータでは、表1の2番目のレコードにID、月、年が一致し、表1のレコード2が最も利用可能な日(ID、月、年)の組み合わせ。正しい結果は次のとおりです。

ID日付情報1情報2

     

1 1/30/2011 i11 i2

私が今までに登場するSQLコードはかなり複雑です。何かお勧めします。私はMySQLを使用しています。

0 2011-10-27T21:14:15+00:00 1
プログラミング
sql
mysql
join
subquery
Mark Brackett
27日 10月 2011 в 9:33
2011-10-27T21:33:18+00:00
さらに
ソース
編集
#56793218

[したい] ...利用可能な最後のレコードの日付を結合レコードとして使用する

導出された表で最初にそれを解決してください。 ID、Date が一意であると仮定すると、IDで簡単にグループ化してMAXの日付を取ることができます。

SELECT
   T1.*,
   T2.*
FROM Table1 as T1
JOIN (
   SELECT 
      ID, MAX(Date) as Date
   FROM Table1
   GROUP BY 
      ID
) as Last ON
   T1.ID = Last.ID
   AND T1.Date = Last.Date
LEFT OUTER JOIN Table2 as T2 ON
   T1.ID = Last.ID
   AND MONTH(T1.Date) = MONTH(T2.Date)
   AND YEAR(T1.Date) = YEAR(T2.Date)
2
0
質問の追加
カテゴリ
すべて
技術情報
文化・レクリエーション
生活・芸術
科学
プロフェッショナル
事業内容
ユーザー
すべて
新しい
人気
1
Roxana Elizabeth CASTILLO Avalos
登録済み 17時間前
2
Hideo Nakagawa
登録済み 1日前
3
Sergiy Tytarenko
登録済み 3日前
4
shoxrux azadov
登録済み 5日前
5
Koreets Koreytsev
登録済み 1週間前
© de-vraag :年
ソース
stackoverflow.com
ライセンス cc by-sa 3.0 帰属