You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:SAP SQL查询LineText为空时无结果,需返回全部数据

SAP SQL查询问题解决方案

你的问题出在使用了INNER JOIN,它仅会返回ODLN(T0)和DLN10(T1)中DocEntry完全匹配的记录。如果T1中没有对应T0的记录,这些T0的符合条件的记录都会被排除(注:LineText为空本身不会被INNER JOIN过滤,除非有额外条件限制,你遇到的情况大概率是T1无匹配行)。

要实现返回所有符合WHERE条件的T0记录,无论T1是否有匹配或LineText是否为空,只需将INNER JOIN替换为LEFT JOIN(左外连接):

SELECT 
    T0.TaxDate, T0.NumAtCard, T1.LineText, T0.TrackNo, 
    T0.U_TrackRT1 
FROM 
    ODLN T0 
LEFT JOIN 
    DLN10 T1 ON T0.DocEntry = T1.DocEntry 
WHERE  
    T0.TaxDate =[%0] AND T0.Cardcode =[%1]

如果希望把LineText的NULL值显示为更友好的内容(比如空字符串),可以用COALESCE函数处理:

SELECT 
    T0.TaxDate, T0.NumAtCard, COALESCE(T1.LineText, '') AS LineText, 
    T0.TrackNo, T0.U_TrackRT1 
FROM 
    ODLN T0 
LEFT JOIN 
    DLN10 T1 ON T0.DocEntry = T1.DocEntry 
WHERE  
    T0.TaxDate =[%0] AND T0.Cardcode =[%1]

内容的提问来源于stack exchange,提问作者P1 inMotion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 04:36:23