1

他のテーブルより約1か月前の日付のテーブルがあります。

たとえば、1つのテーブルは3月31日の第1四半期の終わりを報告し、もう1つのテーブルは2月28日(または29日)の第1四半期の終わりを報告しますが、2つの日付がまったく同じであるかどうかに関係なく、日付でそれらを結合することはまったく問題ありません。

何か提案をお願いします。

ありがとう

4

5 に答える 5

1

DateDiff(dd, Date1, Date2) < x で参加できます

または、より正確に取得するには

select endOfMonth.*, begOfMonth.* 
from endOfMonth join begOfMonth 
on DATEADD (dd , 1 , endOfMonth.date ) = begOfMonth.Date
于 2012-05-02T14:00:40.947 に答える
0
select val1 From Table1 T1 inner Join Table2 t2 on MONTH(T1.date1) = MONTH(t2.date1)
And YEAR(T1.date1) = YEAR(t2.date1)
于 2012-05-02T14:10:59.923 に答える
0

私があなたを正しく理解していて、それらのテーブルに同じ数の列がある場合UNIONは、SQLクエリで使用する必要があります. 詳細については、 http UNION: //en.wikipedia.org/wiki/Set_operations_%28SQL%29を参照してください。

于 2012-05-02T14:01:13.773 に答える
0

1 つの方法は、任意の日付を返すDATEPART() 関数を使用することです。quarterその後、返された四半期に参加できます。

サンプル SQL:

SELECT *
FROM 
(
    SELECT DATEPART(QUARTER,date_column) AS t1_quarter
    FROM table1
    UNION ALL
    SELECT DATEPART(QUARTER,date_column) AS t2_quarter
    FROM table2
) AS temp
WHERE temp.t1_quarter = temp.t2_quarter;

必要に応じて他のフィールド (おそらく ID フィールド) を内部 SELECTS に入れます。

于 2012-05-02T14:01:43.740 に答える
0

ON 句は、一致する年と四半期を調べることができます。

ON TABLE1.YEAR([1st quarter end ]) = TABLE2.YEAR([1st quarter end ])
AND TABLE1.QUARTER([1st quarter end ]) = TABLE2.QUARTER([1st quarter end ])
于 2012-05-02T14:02:35.863 に答える