【发布时间】:2025-12-21 09:10:12
【问题描述】:
我们需要显示在 BOS_BARCODE_IT_LOG 中但在 BOS_BARCODE_DO_LOG 中不存在的 UID
我加入 OITM 的原因是因为用户在 SAP Business One 中要求选择标准。
SELECT X0."DATE",X0."ITEMCODE", X0."UID"
FROM "BOS_BARCODE_IT_LOG" X0 JOIN OITM X1 ON
X0."ITEMCODE" = X1."ItemCode"
WHERE
X1."ItemCode" = '[%0]'
AND NOT EXISTS (
SELECT X2."UID" FROM "BOS_BARCODE_DO_LOG" X2
WHERE X0."ITEMCODE" = X2."ITEMCODE" AND
X0."UID" = X2."UID" AND
X0."DATE" = X2."DATE"
)
我们需要那个 '[%0]' 来显示
问题是,当我尝试在那里搜索任何项目时,查询没有返回任何结果。
我已经尝试过了。
我只从一个没有 OITM 的表中进行选择,而且仍然没有提供查询选择标准。
我也试过了
SELECT X0."DATE",X0."ITEMCODE", X0."UID"
FROM "BOS_BARCODE_IT_LOG" X0
WHERE
X0."ITEMCODE" = '[%0]' AND
NOT EXISTS (
SELECT X1."UID" FROM "BOS_BARCODE_DO_LOG" X1
WHERE X0."ITEMCODE" = X1."ITEMCODE" AND
X0."UID" = X1."UID" AND
X0."DATE" = X1."DATE"
)
它提供了错误。
1)。 [SAP AG][LIBODBCHDB DLL][HDBODBC] 语法错误或访问冲突;257 sql 语法错误:")" 附近的语法不正确:第 14 列第 1 行“收到警报”(OAIB)(在 pos 299)
另一件事,是否可以对多个表使用子查询并提供预期结果(不仅仅是空白结果)
我在教程中了解到子查询仅用于一个表。 这是其中一个例子。
https://www.tutorialspoint.com/sql/sql-sub-queries.htm
谢谢。
【问题讨论】: