Как можно суммировать и заменять данные столбца и выполнять усреднение всего в запросе MS Access? - PullRequest
1 голос
/ 20 мая 2009

Я извлекаю данные из одной таблицы, называемой AnalysisCopy, и использую ее для перезаписи всей информации в другой таблице, называемой анализом. Я сортирую / фильтрую / манипулирую столбцами: readings_miu_id, ReadDate, ReadTime, RSSI. В настоящее время я перемещаю данные из analysisCopy в анализируемый файл, используя следующий sql для получения только последнего времени (наибольшее значение в ReadTime, поскольку оно отформатировано в военное время) для каждой уникальной пары readings_miu_id и ReadDate.

SELECT readings_miu_id, Reading, ReadDate, ReadTime, MIUwindow, SN, Noise, RSSI, ColRSSI,MIURSSI,Firmware,CFGDate,FreqCorr,Active,MeterType,OriginCol,ColID,Ownage,SiteID,PremID, prem_group1, prem_group2,ReadID  
    INTO analyzed  
    FROM analyzedCopy AS A  
    WHERE  ReadDate BETWEEN #04/21/09# AND #04/29/09#  AND ReadTime=  (SELECT TOP 1 analyzedCopy.ReadTime FROM analyzedCopy  
    WHERE analyzedCopy.readings_miu_id = A.readings_miu_id  AND analyzedCopy.ReadDate = A.ReadDate  
    ORDER BY analyzedCopy.readings_miu_id, analyzedCopy.ReadDate, analyzedCopy.ReadTime DESC)

   ORDER BY A.readings_miu_id, A.ReadDate, A.ReadTime DESC ; 

Мне нужно добавить к этому коду возможность вносить в таблицу «анализ» одну запись на readings_miu_id, изменяя ReadDate, чтобы показать желаемый диапазон дат (в этом случае это должно было бы показать что-то вроде « С 4/21/09 по 29.04.09 "), а также принимая среднее значение RSSI для каждого DISTINCT reading_miu_id и вставляя это среднее значение RSSI в поле RSSI в анализируемой таблице.

В попытке подведения итогов / обзора у меня есть код для вставки в таблицу всех записей из другой таблицы, где ReadTime является наибольшим для каждой уникальной комбинации readings_miu_id и ReadDate. И мне нужно добавить к этому коду возможность взять среднее RSSI из уже отсортированных (шаг в предыдущем предложении) записей и вставить это среднее значение в RSSI в проанализированном и вставить диапазон дат в ReadDate в проанализированном.

Я понимаю, что, вероятно, я здесь много спрашиваю, и если мне нужно использовать два или три разных шага или SQL-код, это нормально. программа, в которую это входит, не будет использоваться многими людьми, и моему боссу все равно, будет ли код грязным или что запуск займет некоторое время. Я боюсь, что меня заставляют делать что-то неэффективно и беспорядочно, но это то, что я вынужден делать.

Я должен быть в состоянии использовать функцию sum(), чтобы суммировать значения RSSI. Я просто не уверен, как это сделать при делении суммы на количество для каждого DISTINCT readings_miu_id и при выполнении всего остального, что мне нужно сделать. к этим данным. Используя VB.NET 2008 и sqlServer, я мог выполнять каждую строку с помощью некоторых логических операторов, чтобы делать с данными то, что мне нужно, но я не знаю, как это сделать в SQL или VBA.


Edit:

Если я недостаточно хорошо объяснил что-то, пожалуйста, дайте мне знать, и я постараюсь исправить и добавить информацию в меру своих способностей.

1 Ответ

0 голосов
/ 21 мая 2009

Решите проблему по одной проблеме за раз. Создайте таблицы для каждого шага, AnalyzedStep1, AnalyzedStep2 и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...