我正在 SAP Business One 中处理 SQL 查询,并且不断遇到以下错误:
选择时必须指定表格。
我使用的查询如下:
SELECT
o."DocNum",
(
SELECT TOP 1 w1."ItemCode"
FROM WOR1 w1
WHERE w1."DocEntry" = o."DocEntry"
AND (w1."LineNum" IS NULL OR w1."LineNum" = '')
ORDER BY w1."LineNum"
) AS "WOR1_ItemCode",
t."U_Material_Laenge",
w."PlannedQty"
FROM WOR1 w
JOIN "WRE_PPS_WorkstepPlanning" p ON p."PODocEntry" = w."DocEntry"
AND p."POLineNum" = w."LineNum"
JOIN OWOR o ON o."DocEntry" = w."DocEntry"
JOIN OITM i2 ON i2."ItemCode" = w."ItemCode"
LEFT OUTER JOIN "WRE_POLineWorkstepStatus" ws ON ws."PODocEntry" = w."DocEntry"
AND ws."POLineNum" = w."LineNum"
LEFT JOIN "OITT" t ON o."ItemCode" = t."Code"
WHERE
o."Status" IN ('P', 'R')
AND COALESCE(ws."Status", 'OPEN') = 'OPEN'
AND w."ItemCode" LIKE '[%0]'
AND i2."ItemName" LIKE '[%1]'
每次尝试执行此查询时,我都会收到上述错误。我怀疑这可能与 SELECT 子句中的子查询有关,或者可能与我使用 JOIN 条件的方式有关,但我无法查明确切的原因。
SAP Business One 版本 10。
数据库:SQL Server。
目标:我想检索满足特定条件的 WOR1 表中的文档编号 (o."DocNum")、第一个项目代码 (w1."ItemCode"),以及其他详细信息,例如 t."U_Material_Laenge"和 w.“计划数量”。
问题:
有人可以解释一下为什么会发生此错误以及如何解决它吗?我需要考虑 SAP Business One SQL 语法或子查询处理方式的特定内容吗?
任何见解或建议将不胜感激。
在您的查询的这个块中
WHERE
o."Status" IN ('P', 'R')
AND COALESCE(ws."Status", 'OPEN') = 'OPEN'
AND w."ItemCode" LIKE '[%0]'
AND i2."ItemName" LIKE '[%1]'
更改为
WHERE
o."Status" IN ('P', 'R')
AND COALESCE(ws."Status", 'OPEN') = 'OPEN'
AND o."ItemCode" LIKE '[%0]'
AND i2."ItemName" LIKE '[%1]'
在队列中,
AND w."ItemCode" LIKE '[%0]' 被改为 AND o.“ItemCode” LIKE '[%0]'
o。在 ItemCode 之前显式引用条件中的“OWOR”表,这应该可以解决查询中的错误