0

私は2つのテーブルを持っていactualますforecast

実際

  month    actual 
  6          20
  7          60
  8          70

予測

 month        forecast
   9             50
  10             150
  11             85

同じ列で更新する必要があります。つまり、データが利用可能になるまでは実際のテーブルから更新する必要があり、データが利用できない場合は予測テーブルから更新する必要があります。

  month      actual/forecast
   6                20
   7                60
   8                70
   9                50
  10                150
  11                85
4

2 に答える 2

2

私は次のようなことをします。[ソース]列は、テストのみを目的としています。また、データが複数年にわたる場合は、クエリに数年か何かを含める必要があると思います。

SELECT month, actual as 'actual/forecast', 'A' as Source FROM Actual
UNION
SELECT month, forecast as 'actual/forecast', 'F' As Source FROM Forecast
WHERE month NOT IN (SELECT month FROM Actual) 
于 2012-08-27T07:23:06.667 に答える
0

多分これは役立つでしょう

WITH T AS(
    SELECT COUNT(*) FROM (SELECT month,actual FROM Actual
    UNION ALL
    SELECT MONTH,forecast FROM Forecast)
)

IF (SELECT COUNT(*) FROM T) = 0
BEGIN
--UPDATE here forecast TABLE 
END
ELSE
--UPDATE here T table
于 2012-08-27T07:08:40.327 に答える