【发布时间】:2009-05-22 13:16:11
【问题描述】:
我几乎完成了这个,只是最后的几个小问题。我现在需要从表中删除所有记录,除了前 1 个记录,其中 readings_miu_id 是“DISTINCT”列。换句话说,我需要从表中删除除第一个 DISTINCT readings_miu_id 之外的所有记录。我假设我需要做的就是修改基本的删除语句:
DELETE FROM analyzedCopy2
WHERE readings_miu_id = some_value
但我不知道如何将 some_column=some_value 部分更改为:
where some_column notequal to (select top 1 from analyzedCopy2 as A
where analyzedCopy2.readings_miu_id = A.readings_miu_id)
然后我需要弄清楚如何使用 UPDATE 语句从查询中更新表 (analyzedCopy2)(这是我想要存储到表 analyzeCopy2 中的 RSSI 列中的所有值当前所在的位置)。我试过这个:
UPDATE analyzedCopy2 from testQuery3 SET analyzedCopy2.RSSI =
(select AvgOfRSSI from testQuery3 INNER JOIN analyzedCopy2 on analyzedCopy2.readings_miu_id = testQuery3.readings_miu_id where analyzedCopy2.readings_miu_id = testQuery3.readings_miu_id)
where analyzedCopy2.readings_miu_id = testQuery3.readings_miu_id
但显然我不能在更新语句中使用 FROM。有什么想法吗?
我确定我会以一种非常不标准的方式(如果不是完全错误的话,也可能是错误的),但我不允许使用 vb.net2008 来拉取和操作然后存储数据,就像我一样想所以我现在被困在 ms-access 中使用 sql 语句,这是一个很好的学习体验(即使尝试做我在 sql 语句中必须做的奇怪的事情也让我头疼我的甲板当然是比喻)
【问题讨论】:
标签: sql ms-access sql-update