My original query works:
/****** Pull Units Sold to Customers from POSDOCUMENT and POSDOCUMENTDETAIL Tables each day ******/
SELECT POSDocument.DocumentID, POSDocumentDetail.POSDocument_ID AS Expr1, POSDocumentDetail.LineType, POSDocumentDetail.ItemNumber, POSDocumentDetail.Description, POSDocumentDetail.ItemID, POSDocument.CustomerName,
POSDocumentDetail.isVoid, POSDocument.Customer_ID
FROM POSDocument INNER JOIN
POSDocumentDetail ON POSDocument.POSDocument_ID = POSDocumentDetail.POSDocument_ID
WHERE (POSDocumentDetail.LineType = 5) AND (POSDocument.DocumentType = 4) AND (POSDocumentDetail.isVoid = 0) AND (DATEDIFF(day, POSDocumentDetail.AddedByDate, GETDATE()) = 3)
It provides me 20 lines of data****
The query I would like to add to the above query:
SELECT Contact_Mechanism_ID, Party_ID, ContactMechanismType, ContactMechanismPurpose, Electronic_Address, IsPrimary
FROM ContactMechanism
***********There could be multiple "Electronic_Address" entries for the same "Party_ID". What I need is only the "Electronic_Address" for the "Party_ID" where "IsPrimay" = "1" ****************
"Party_ID correlates with "POSDocument.Customer_ID"
When I perform an additional join from the ContactMechanism table, I receive 148 lines of data because of all the duplicates that are being produced.***
SELECT POSDocument.DocumentID, POSDocument.POSDocument_ID, POSDocument.DocumentType, POSDocument.InvoiceNumber, POSDocumentDetail.POSDocumentDetail_ID, POSDocumentDetail.POSDocument_ID AS Expr1,
POSDocumentDetail.LineType, POSDocumentDetail.ItemNumber, POSDocumentDetail.Description, POSDocumentDetail.ItemID, POSDocument.CustomerName, POSDocument.Customer_ID, POSDocumentDetail.isVoid,
ContactMechanism.Party_ID, ContactMechanism.Electronic_Address, ContactMechanism.IsPrimary
FROM POSDocument INNER JOIN
POSDocumentDetail ON POSDocument.POSDocument_ID = POSDocumentDetail.POSDocument_ID INNER JOIN
ContactMechanism ON POSDocument.Customer_ID = ContactMechanism.Party_ID
WHERE (POSDocumentDetail.LineType = 5) AND (POSDocument.DocumentType = 4) AND (POSDocumentDetail.isVoid = 0) AND DATEDIFF(day,POSDocumentDetail.AddedByDate ,GETDATE()) = 3
How can I get
INNER JOIN
ContactMechanism ON POSDocument.Customer_ID = ContactMechanism.Party_ID to only show me the records that have "IsPrimary" = "1"