如何将来自另一个表的多个字段组合到MS-Access中的单个字段中

时间:2015-11-21 17:13:48

标签: sql ms-access field

我必须每天从早上8点到下午5点记录每小时的温度。我做了如下表格,但是通过这种形式,我必须将每个数据记录到自己的字段中。

然后,我制作了一张新表,其中仅包括每小时平均每小时温度。这是一个棘手的部分,我似乎无法找到一种绘制图形的方法(平均随着时间的推移),因为它们处于不同的领域。所以我想我必须创建一个由一天中的时间组成的新字段,并将这些字段(每小时平均温度字段)组合到一个名为“AVG_TEMP”的字段中。 问题是,我该怎么做? 我试过了:

INSERT INTO temp_avg [(AVG_Temp)] 
SELECT ([temp avg].[AVG_AM_8]), ([temp avg].[AVG_AM_9]), ([temp avg].[AVG_AM_10]), ([temp avg].[AVG_AM_11]), ([temp avg].[AVG_PM_12]), ([temp avg].[AVG_PM_1]), ([temp avg].[AVG_PM_2]), ([temp avg].[AVG_PM_3]), ([temp avg].[AVG_PM_4]), ([temp avg].[AVG_PM_5])
FROM [temp_avg];

IMAGE 1 : FORM to record data

我需要将上面的组合字段制作成下图: Illustration of changes need to be made

----------------------------------------------- - - -编辑 - - - - - - - - - - - - - - - - - - - - - - ---------------------------

简而言之,我必须根据以下数据绘制图表,当数据位于不同的列(字段)时,如何绘制图表?

|8 AM | 9 AM | 10 AM | 11 AM | 12 PM | 1 PM | 2 PM | 3 PM | 4 PM | 5 PM | 
| 20  |  30  |  20   |   23  |   24  |  23  |  21  |  23  |  22  |  20  |

1 个答案:

答案 0 :(得分:1)

试试union all ...

select 8 as HOUR_AVG, AVG_AM_8 from temp_avg
union all
select 9 as HOUR_AVG, AVG_AM_9 from temp_avg
union all
...
select 17 as HOUR_AVG, AVG_PM_5 from temp_avg

但是,我不认为这可能是设计此类报告的最佳方式。为了更好的方式,我们需要了解有关您的架构的更多信息。 (换句话说,如果已知整个表模式,可能有一种更简单的方法来获取此信息。)