我正在尝试从 JDE (oracle) 中提取我们的 Item Master。此项目主文件包含一些以代码为值的列。这些代码存储在 UDC 表中。UDC 表包含 4 列。前 2 个是带有代码的关键列。最后2个是代码的描述。现在我在 Item Master 中有一个包含一些代码的列。这些代码存储在 UDC 表中,其中 UDC.C1 = '41' 和 UDC.C2 = '10'。不幸的是,UDC.C2 之间包含前导空格。实际上它看起来像这样:'10'。然后我在 Item Master 中有第二列,其中包含附加代码。这些代码存储在 UDC 中,如下所示:UDC.C1 = '51' 和 UDC.C2 = 'AB'。
我的问题/挑战是,我怎样才能以优雅的方式将 Item Master 与 UDC 一起加入?我找到了这个 SQL:
SELECT
IMLITM,
IMSRP1,
S1UDC.Desc1,
IMSRP2,
S2UDC.Desc1,
IMSRP3,
S3UDC.Desc1
FROM pooldba.F4101
LEFT JOIN pooldba.UDC('41','10') S1UDC ON IMSRP1 = S1UDC.UDC
LEFT JOIN pooldba.UDC('51','AB') S2UDC ON IMSRP2 = S2UDC.UDC
https://brandonkirsch.com/blog/index.php/2019/07/18/sql-jde-f0005-udc-helper/
不幸的是,它不起作用。我得到一个失败的 SQL 是错误的。也许是因为 ('41', '10') 和前导空格?