首先,对于任何不准确的概念感到抱歉,因为我的母语不是英语,我只能从我的大学访问ACCESS :)(现在我在家)。
我需要有关MS ACCESS计划的帮助。 在我的最小例子中有两个表:
user
有三列:id
,nick
和disabled
(真/假类型)warnings
有两列:user_id
和date
这两列之间还存在关联,id
< - > user_id
。
我想禁用所有有3个或更多警告的用户。
我可以使用GROUP BY子句轻松创建一个查找所有此类用户的select查询:
user.id / group by
warnings.user_id / count / criterion: >=3 / not visible
当我尝试将其更改为更新查询时,GROUP BY子句消失。我尝试通过将上面的选择查询保存为QUERY1来解决此问题,并创建另一个使用QUERY1的更新查询。 我需要这样的东西: 更新用户的所有行,以便ID在QUERY1 中。 我尝试在两个地方发表这样的声明:
a)作为user
。id行的标准:
user.id / criterion: user.id belongs to QUERY1.
user.disabled / set true
b)作为附加行: b1)的
user.id
user.disabled / set true
expression1: id belongs to QUERY1 / criterion: true
或 b2)的
user.id
user.disabled / set true
expression1: look for id in QUERY1 / criterion: not null
在互联网上寻求帮助我找到了一些关于子查询的信息,但不幸的是我的尝试失败了。我还发现了一个函数 DLookup (我认为b2方法很有成效)。我想我不理解在ACCESS语法中使用方括号。
对我来说重要的是,解决方案应该尽可能简单和“可点击”,因为我需要向一些完全初学者的人解释。
感谢您从我那里获得的任何帮助。
答案 0 :(得分:0)
如上面的评论中所述,'group by'在更新查询中没有任何意义。您需要做的是在更新查询中使用分组查询的结果。这意味着更新查询引用的单独分组查询,或者意味着更新中的分组子查询。我将展示后者,因为它更直接。我不完全确定'clickable'对你意味着什么,但是2查询方法应该很容易从带有子查询的示例中解决,如果你喜欢的话。 (子查询更加包含和简洁,但引入了可能是复杂的子查询的概念)
<?php
$query = "SELECT * FROM menu";
$select_all_categories_query = mysqli_query($connection, $query);
while ($row = mysqli_fetch_assoc($select_all_categories_query)) {
$cat_id = $row['cat_id'];
$cat_title = $row['cat_title'];
echo "<li><a href='#'>$cat_title</a></li>";
}