次のコードは Sage200 で機能します。
SELECT bcs.BomReference
,bcs.DateTimeCosted
,bcs.TotalCost
FROM (
SELECT BomReference
,Max(DateTimeCosted) AS MaxDate
FROM NDM_Sage200.dbo.BomCostSession BomCostSession
GROUP BY BomReference
) AS ldc
INNER JOIN BomCostSession AS bcs ON bcs.BomReference = ldc.BomReference
AND bcs.DateTimeCosted = ldc.MaxDate
ORDER BY BomReference
これを INNER JOIN で別のテーブルに拡張して ( BomReferenceを使用して) より多くの列を取得しようとするとすぐに、次のエラー メッセージが表示されます:
Could not add the table ( .
See below for example of modified code; I have to use 2 joins必要なテーブルに到達しますが、作業コードに参加しても同じエラーが発生します。
SELECT bcs.BomReference, bcs.DateTimeCosted, bcs.TotalCost, BomBuildProduct.StockDescription
FROM (
SELECT BomReference,
Max(DateTimeCosted) AS MaxDate
FROM NDM_Sage200.dbo.BomCostSession BomCostSession
GROUP BY BomReference
) AS ldc
INNER JOIN
BomCostSession as bcs
ON bcs.BomReference = ldc.BomReference AND
bcs.DateTimeCosted = ldc.MaxDate
***** Fails when adding INNER JOIN here *****
INNER JOIN
BomBuildPackage
ON BomCostSession.BomBuildPackageID = BomBuildPackage.BomBuildPackageID
INNER JOIN
BomBuildProduct
ON BomBuildPackage.BomRecordID = BomBuildProduct.BomRecordID
ORDER BY BomReference
私は何を間違っていますか?複数のテーブルのデータを使用してクエリを拡張する必要があります。
また、機能するセクションでMSQueryを使用すると、テーブルを追加するオプションが提供されないため、オプションを試すのがかなり難しくなると思います。
なんで ?