从一个表中生成数据,使用另一个表中的唯一字段
问题描述:
我试图从名为“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:];
这一工作现在。我想我在某个地方记录日期的方式有问题。是否有机会知道如何让TL.Invoice只在字段(来自同一个表中标有“DateAuthorised”和Alphadata.DateRaised的字段是相同的? – Nik
然后您必须在DateRaised字段之间添加_inner join_ '。 – Gustav