附加条件SQL查询[Access 2013]

时间:2017-10-27 10:56:19

标签: sql ms-access

我想基于不同的表从我的SQL查询中删除一些条目,但是一旦我尝试添加第三个表,我总是会得到原始查询的多个结果。

我的查询看起来像这样

which are documented in the Vagrant documentation

我的列表框根据" ID_Projekte"显示不同的条目。 (中间的表)。每个" ID_Projekte"链接到" tbl_Projekte_Phasen"中的几个条目(右侧)。现在我想根据" ID_Projektphasen_FK"删除一些条目。

实施例: 如果来自"主表的条目"在右侧有一个条目,其中包括" ID_Projektphasen_FK"是" 4"或" 10"我不想在列表框中显示它

我的问题是,只要我添加" ID_Projektphasen_FK"对于查询,我得到多个条目,因为它列出了右侧每个条目的项目。

SQL代码现在看起来像这样:

SELECT 
    DISTINCT 
    tbl_Projekte.ID_Projekte, 
    tbl_Projekte.Projektname,
    tbl_Werkzeugtypen.Bezeichnung, 
    tbl_Projekte.Werkzeugnummer,
    tbl_Projekte.Projekttyp,
    tbl_Projekte.Bemerkung
FROM 
    tbl_Werkzeugtypen INNER JOIN (tbl_Projekte INNER JOIN tbl_Projekte_Phasen 
                                  ON tbl_Projekte.ID_Projekte = tbl_Projekte_Phasen.ID_Projekte_FK) 
    ON tbl_Werkzeugtypen.ID_Werkzeugtypen = tbl_Projekte.Werkzeugtyp
WHERE 
(((tbl_Projekte.Projekttyp)=[Formulare]![frm_Kundenauftraege]![Projekttyp]))
ORDER BY tbl_Projekte.Projektname DESC;

希望我能清楚地描述我的问题并且有人能够帮助我

1 个答案:

答案 0 :(得分:0)

如果只需要ID_Projektphasen_FK作为标准,请不要在结果中显示(取消" Anzeigen")。然后它不会在结果中创建额外的记录。

或者,不要使用DISTINCTGROUP BY所有列,并将ID_Projektphasen_FK Funktion 设置为 Bedingung (条件)。