Pregunta

Estoy tratando de obtener el promedio de cada miuid insertado en una tabla. Las tablas relevantes y la información de la columna son las siguientes:

Tabla 1. [ID de MIU], Tabla 1. [AVG RSSI

y

Table2.miuid, table2.meannum

Si simplemente estuviera usando una declaración de selección, haría lo siguiente:

Select DISTINCT Table1.[MIU ID], Avg(Table1.[Avg RSSI]) as MeanNum
From Table1
GROUP BY Table1.[MIU ID]  

Sin embargo, necesito que esta información se inserta en una columna en la Tabla 2. He probado lo siguiente y variaciones de lo siguiente y los errores que recibo son que no me permitirá usar el grupo, y otro error que dice que Meannum no es parte de la función agregada.

UPDATE Table2  
INNER JOIN Table1
ON Table2.MIUID = Table1.[MIU ID]  
SET Table2.MeanNum = Avg([Table1].[Avg RSSI]);

Y la otra consulta que he probado es:

UPDATE Table2  
SET Table2.MeanNum = Avg([Table1].[Avg RSSI]) 
WHERE Table2.MIUID = Table1.[MIU ID]
Group By [Table1].[Avg RSSI]

Resumen
Para reiterar todo lo que estoy tratando de hacer es obtener el promedio de la columna AVG RSSI en la Tabla1 para cada ID de MIU distinta e insertar cada valor en la fila apropiada en la Tabla 2.

Nota
Hay una columna en la Tabla2 llamada Avgnum que podría ser promedio para obtener el mismo número que debe entrar en la columna Meannum si usar eso sería más fácil.

Sé cómo hacer lo que estoy tratando de hacer en dos pasos, preferiría poder hacerlo en una declaración SQL.

¿Fue útil?

Solución

Editar: El siguiente código no funcionará en MS-Access/Jet. Ver este enlace:

La operación debe usar una consulta actualizada. (Error 3073) Acceso de Microsoft

Respuesta original:

Puede usar la consulta selecta original en una subconsulta y unirse a ella. No se verifica la sintaxis y estoy más familiarizado con T-SQL que MS-Access, pero algo así como:

UPDATE 
    t2
SET 
    t2.MeanNum = sub.MeanNum
From 
    Table2 t2
    INNER JOIN 
        (
        Select DISTINCT 
            Table1.[MIU ID], 
            Avg(Table1.[Avg RSSI] as MeanNum
        From 
            Table1  
        GROUP BY 
            Table1.[MIU ID] 
        ) sub
        ON sub.[MIU ID] = t2.MIUID 
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top