2017-04-06 10 views
0

良い日です。SQL 2008:ある行の2列にこれらの値がある場合は、行を除外します。

T0.Date T0.customer T0.total T1.Date, T1.Total 
2.1.2017 BLABLA   2,400.00 3.8.2017 2,400.00 
1.2.2017 BLOBLO   5,000.00 3.1.2017 5,000.00 
1.1.2017 BLEBLE   3,000.00 2.5.2017 3,000.00 
12.5.2016 BLABLA   1,000.00 1.25.2017 1,000.00 

私はおそらくT0.Date = 1月(1)とし、同じ行に行を除去するアイデアを得ることができますどのようにT1.Date =月(3)クエリに。私はケースを使用することを考えていたときどこの句が、私はどのように状態を開始するのか分からない。しかし、その後、T1.Date = 2月場合(2)、重要ではありませんかのT0.Date = 1または最後の年の月(2016年1月12日)..

UPDATE: 予想される出力:

T0.Date T0.customer T0.total T1.Date, T1.Total 
2.1.2017 BLABLA   2,400.00 3.8.2017 2,400.00 
1.1.2017 BLEBLE   3,000.00 2.5.2017 3,000.00 
12.5.2016 BLABLA   1,000.00 1.25.2017 1,000.00 
+0

質問は明らかではありません。あなたはそれを明らかに期待された出力で説明できますか? –

+0

T1.Dateが行進しているようなものは、januarryであるT0.Dateを許可しません。しかし、T1.Dateが2月の場合は、1月の日付とそれ以下(2016年)のT0.Dateを持つことは大丈夫です。 – aintno12u

答えて

0

これは必要なものですか?

where T0.Date <> '2017-01-01' or T1.Date <> '2017-03-03' 

それとも、あなただけの全体を探している場合:

where not ((t0.date >= '2017-01-01' and t0.date < '2017-02-01') and 
      (t1.date >= '2017-03-01' and t1.date < '2017-04-01') 
     ) 
+0

私は特定の日付がないので、ちょうど月を使用することを考えていた。このデータは日付範囲で作成されるため、多くの日付が存在します。だから、私の考えはMONTH() – aintno12u

0

これは動作するはずです...

where month(dateadd(month,1,T0_date))=month(T1_date) and year(dateadd(month,1,T0_date))=year(T1_date) 
関連する問題