0

2 つのテーブル (時間とターゲットと呼びましょう) を結合し、時間の日付を囲む期間内に関連付けられたターゲットがある場合、2 番目のテーブルからターゲットを取得したいと考えています。(ターゲットは次のようになります: ユーザー: ジョー、ターゲット: 70、開始日: 2012 年 1 月 1 日、終了日: 2012 年 5 月 31 日"

ここまでは簡単でした:

「ユーザー」に基づいて「すべての」時間とターゲットを結合し、ターゲットを出力し、「From」と「To」をフィルターで使用します:それぞれ「<=Hours.Date」と「">=Hours.Date」。

問題は、すべてのユーザーが任意の時間枠でターゲットを持っているわけではないことです。その場合、0 のターゲットを返したいと思います。ただし、条件に基づいて、上記の基準に一致しない行はまったく返されません。

次のような条件を設定するにはどうすればよいですか。

Target.Target where (Target.From <= Hours.Date and Target.To >= Hours.Date) またはその他の場合は 0

ありがとう!

マルコ

4

1 に答える 1

1

あなたはこのようなものを求めていますか? http://sqlfiddle.com/#!3/18b5c/1/0

理想的には、ユーザー テーブルとストア ID を用意する必要がありますが、あなたが何を求めているかについての私の理解は、あなたが何をしようとしているのかをカバーする必要があります。

于 2012-09-21T00:49:52.240 に答える