我有一个ACCESS BD
,其主表(' Principale')与另一个(' TabRegisti')有多对多连接,并带有连接表他们之间(' TabRegisti_Unione')。
我是“原理”的表格。其中有一个搜索按钮,在用户单击后,为另一个表单中的列表框创建查询。
我使用的查询如下:
SELECT Principale.ID, Principale.CodiceDVD, Principale.Cofanetto,
Principale.TitoloDVD, TabRegisti.NomeRegista, TabRegisti.CognomeRegista,
TabCategoria.Categoria, Principale.Durata, Principale.AttoriPrincipali,
Principale.Produzione, Principale.AnnoDVD, Principale.AnnoFilm,
Principale.DataACQ, Principale.Ubicazione
FROM TabRegisti
INNER JOIN (TabCategoria
INNER JOIN ((Principale INNER JOIN TabUbicazione
ON Principale.Ubicazione = TabUbicazione.Ubicazione)
INNER JOIN TabRegisti_unione
ON Principale.ID = TabRegisti_unione.IDrifPrincipale)
ON TabCategoria.CategorieID = Principale.CategorieID)
ON TabRegisti.IDRegista = TabRegisti_unione.IDregistaUnione
WHERE (((TabRegisti.NomeRegista) Like "*anc*")
AND ((TabRegisti.CognomeRegista) Like "*"))
ORDER BY Principale.CodiceDVD;
我在VBA中使用具有正确语法的查询(当然,Where子句只是一个示例)。 它工作正常,但留下了主表记录的重复。 我试图插入条款DISTINCT,然后插入条款DISTINCTROW,但没有任何机会(重复仍然存在)。 否则,在子句ORDER BY之前使用GROUP BY子句(即' GROUP BY Principale.CodiceDVD')会产生错误。 Suggstions?
希望对这个问题的解释足够清楚(我不是英语母语,所以是嗜好者)。
答案 0 :(得分:0)
DISTINCT
将仅在您的选择字段中显示具有不同值的行。您选择的字段行实际上不能相同。您需要从SELECT
字段中删除您可能不需要的字段,并生成您不希望看到的行。