你好我有问题不知道有没有人可以帮忙。我已经创建了嵌套表并在表中插入了值。
CREATE OR REPLACE TYPE tt_hours AS OBJECT(hours INTEGER, data NUMBER);
/
CREATE OR REPLACE TYPE tt_day AS VARRAY(7) OF tt_hours;
/
CREATE TABLE NEM_RM16
(
DAY DATE,
VALUE_hours tt_day
);
INSERT INTO NEM_RM16
(day, value_hours)
VALUES
(TO_DATE('01/06/2012 22:00:34'),
tt_DAY(
tt_hours(1,0.025727),
tt_hours(2,0.012047),
tt_hours(3,0.012857),
tt_hours(4,0.012107),
tt_hours(5,0.012849),
tt_hours(6,0.01215),
tt_hours(7,0.0129)));
因此将在 new_table 中插入 30 行,每行代表本月(六月)的一个月中的 1 天。以上是第一行的示例,其中 day = 01/06/2012 具有 8 小时的数据。
我如何编写一个程序来查找所有特定日期的所有平均小时数,例如表中所有星期一的所有第一小时的平均值(天哪,我希望我说得通)。
结果应该是 7 行(一周 7 天)
tt_hours (1, average over the month)
tt_hours (2, average over the month)
..........
第二张表:
CREATE TABLE old_table ( tDAY DATE, VALUE_thours tt_day );
我尝试使用以下内容插入。将结果插入旧表但不起作用。
insert into old_table (day, value_hours) values
(SELECT to_char(DAY, 'Day'),
hours, AVG(data) FROM NEM_RM16 n, TABLE(n.value_hours) v
GROUP BY to_char(DAY, 'Day'), hours);
例如,在运行您的 select 语句后,old_table 在星期五应该有以下数据。小时和日期在嵌套表中,tdate 是 DATE 类型。如您所见,结果是您的 select 语句生成的,但被插入到同一个结构化表中。
tdate HOURS data
----------- ---------- ----------
Friday 1 0,025727
Friday 2 0,012047
Friday 3 0,012857
Friday 4 0,012107
Friday 5 0,012849
Friday 6 0,01215
Friday 7 0,0129