0

我有两张桌子actualforecast

实际的

  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

I'd do something like the following. The Source column is only for your test purposes. I'm also assuming that you might require some year or something included in your queries if your data spans multiple years.

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 回答