从一个表中生成数据,使用另一个表中的唯一字段

从一个表中生成数据,使用另一个表中的唯一字段

问题描述:

我试图从名为“Alphadata”的表中抽取数据,同时从一个名为“TLAuth”的数据中提取数据 - 现在,来自Alphadata的数据将不会在TLAuth中总是有一个直接比较,因为它是一个由其他人员通过特定情况下的表单手动更新的表格。从一个表中生成数据,使用另一个表中的唯一字段

当前的代码:

SELECT Alphadata.Invoice, Alphadata.DateRaised, Alphadata.Amount, Alphadata.Staff, TlAuth.Invoice, TLAuth.TlAuthID 
FROM (Alphadata LEFT JOIN TlAuth ON Alphadata.invoice = TlAuth.invoice) LEFT JOIN Agents ON Alphadata.Staff = Agents.Alphaname 
WHERE (((Alphadata.DateRaised) Between [Start Date:] And [End Date:])); 

在运行此它拉我想要的一切,但它复制的TL验证领域,因此给了我一个不正确的总员工的每个成员,并作为一个整体。

我在想这是一个“分组依据”功能,但我不是100%如何让它工作。

为了简单起见,尝试添加DISTINCT:

SELECT DISTINCT 
    Alphadata.Invoice, 
    Alphadata.DateRaised, 
    Alphadata.Amount, 
    Alphadata.Staff, 
    TlAuth.Invoice, 
    TLAuth.TlAuthID 
FROM 
    (Alphadata 
    LEFT JOIN 
     TlAuth 
     ON Alphadata.invoice = TlAuth.invoice) 
     LEFT JOIN Agents 
     ON Alphadata.Staff = Agents.Alphaname 
WHERE 
    Alphadata.DateRaised Between [Start Date:] And [End Date:]; 
+0

这一工作现在。我想我在某个地方记录日期的方式有问题。是否有机会知道如何让TL.Invoice只在字段(来自同一个表中标有“DateAuthorised”和Alphadata.DateRaised的字段是相同的? – Nik

+0

然后您必须在DateRaised字段之间添加_inner join_ '。 – Gustav