bsm*_*bsm 7 sql ms-access distinct ms-access-2003
我有两张桌子.任务和类别.


TaskID不是主键,因为存在重复值.当为特定任务选择多个联系人时,taskid和其他详细信息将被复制.我写了查询:
SELECT Priority, Subject, Status, DueDate, Completed, Category
FROM Task, Categories
WHERE Categories.CategoryID=Task.CategoryID;
Run Code Online (Sandbox Code Playgroud)

现在,当为该任务选择多个联系人时,对于taskid = T4,有两个记录(以灰色突出显示).我曾尝试在ms access 2003中使用distinct,但它不起作用.我想显示不同的记录.(这里没有要求显示taskid)如果我写:
select priority, distinct(subject), .......
Run Code Online (Sandbox Code Playgroud)
并保持与上述查询中提到的相同,然后它给我一个错误.我也尝试过distinctrow.But没有成功.如何在ms访问中获取不同的值?
好的.它以这种方式工作.
SELECT DISTINCT Task.Priority, Task.Subject, Task.Status, Task.DueDate,
Task.Completed, Categories.Category
FROM Task, Categories
WHERE (((Categories.CategoryID)=[Task].[CategoryID]));
Run Code Online (Sandbox Code Playgroud)
我不喜欢使用SELECT DISTINCT,我发现它使我的代码编译需要更长的时间.我这样做的另一种方式是使用GROUP BY.
SELECT Priority, Subject, Status, DueDate, Completed, Category
FROM Task, Categories
WHERE Categories.CategoryID=Task.CategoryID
GROUP BY Subject;
Run Code Online (Sandbox Code Playgroud)
我目前没有VBA,但这也应该有效.
| 归档时间: |
|
| 查看次数: |
88734 次 |
| 最近记录: |