用于获取项目和项目位置的SQL Oracle openquery
我正在使用Oracle服务器的openquery从BaaN ERP获取信息。 我的请求是获取一个项目的信息以及该项目有库存的所有位置,并在gridview中显示该信息,如您在所附图像中所示 例如:我在仓库1、2、3和4中有CIS-11-2846-01项。 在仓库1中,我有100件位于R1,仓库2有5000件位于R1-A,仓库3有5000件位于R2-B,仓库4有1000件位于R5-Z 我设法做了一个查询,返回该商品的所有位置和实际库存,但我不知道如何使行标题显示带有生产估计数量的商品编号。图片中的蓝色评论 编辑 我的实际查询如下:用于获取项目和项目位置的SQL Oracle openquery,sql,sql-server,oracle,openquery,Sql,Sql Server,Oracle,Openquery,我正在使用Oracle服务器的openquery从BaaN ERP获取信息。 我的请求是获取一个项目的信息以及该项目有库存的所有位置,并在gridview中显示该信息,如您在所附图像中所示 例如:我在仓库1、2、3和4中有CIS-11-2846-01项。 在仓库1中,我有100件位于R1,仓库2有5000件位于R1-A,仓库3有5000件位于R2-B,仓库4有1000件位于R5-Z 我设法做了一个查询,返回该商品的所有位置和实际库存,但我不知道如何使行标题显示带有生产估计数量的商品编号。图片中的
SELECT * FROM OPENQUERY
(am3p1, 'SELECT o.T$PDNO, REPLACE(o.T$SITM,'' '','''')T$SITM, o.T$CWAR, o.T$QUNE, o.T$CPES$1, w.T$LOCA, w.T$STKS FROM baan.tticst001305 o
INNER JOIN baan.twhinr140305 w ON REPLACE(o.T$SITM,'' '','''') = REPLACE(w.T$ITEM,'' '','''')
WHERE o.T$PDNO = ''2GE000632'' AND w.T$LOCA <> '' '' ORDER BY o.T$SITM, w.T$IDAT')
我不知道openquery,但我知道sql。在SQL中,如果o.T$PDNO是项目名称,o.T$QUNE是数量,您将执行以下操作
SELECT o.T$PDNO as item_name, sum(o.T$QUNE) as total
FROM (
SELECT o.T$PDNO, REPLACE(o.T$SITM,' ','')T$SITM, o.T$CWAR, o.T$QUNE, o.T$CPES$1, w.T$LOCA, w.T$STKS
FROM baan.tticst001305 o
INNER JOIN baan.twhinr140305 w ON REPLACE(o.T$SITM,' ','') = REPLACE(w.T$ITEM,' ','')
WHERE o.T$PDNO = '2GE000632' AND w.T$LOCA <> ' '
ORDER BY o.T$SITM, w.T$IDAT')
)
GROUP BY o.T$PDNO
对于如何派生最后两列,您没有给出任何规则,因此我不能将它们包括在内。您不能同时是sql server和oracle。请选择一个。@Hogan-这是一个openquery,所以我假设查询是从SQL到Oracle进行的。如果您需要一些实际帮助,您需要向我们展示更多信息。向我们展示给你非蓝色部分的查询。Hello@Hogan,是的,很抱歉。正如德夫林所说。这是对Oracle的openquery。我已经用我正在使用的查询编辑了这个问题:完美的解决方案!非常感谢你的帮助!做了一些小改动,但总体解决方案按预期运行。将使用我使用的openquery进行编辑。