我有问题。目前我有三个表,第一个表是主表,如果第二个表没有记录,也写它。但是如果第二个表中存在一条记录,那么从第三个表中显示“dispo”信息..
我想使用三个 SAP 表 - lagp、lqua 和 marc。我的目标是从 lagp 写入所有股票头寸。
2x LEFT JOIN 不起作用:“无法与“B~MATNR”进行比较。一个表最多可以与另一个表连接,使用 LEFT OUTER JOIN。
结构:
TYPES:
BEGIN OF t_work,
lgnum TYPE lgnum,
lgtyp TYPE lgtyp,
lgpla TYPE lgpla,
bdatu TYPE lagp_bdatu,
matnr TYPE matnr,
verme TYPE lqua_verme,
meins TYPE meins,
dispo TYPE dispo,
END OF t_work.
DATA:
lt_work TYPE TABLE OF t_work INITIAL SIZE 0,
ls_work LIKE LINE OF lt_work.
和 SQL 命令:
SELECT a~lgnum a~lgtyp a~lgpla a~bdatu b~matnr b~verme b~meins c~dispo FROM lagp AS a
LEFT JOIN lqua AS b ON a~lgnum = b~lgnum AND a~lgtyp = b~lgtyp AND a~lgpla = b~lgpla
INNER JOIN marc AS c ON b~matnr = c~matnr AND b~werks = c~werks
INTO TABLE lt_work
WHERE a~lgnum IN so_lgnum
AND a~lgtyp IN so_lgtyp
AND a~skzua EQ space
AND a~skzue EQ space.
但结果只有一个股票头寸 - http://i.stack.imgur.com/1sEEo.png
你能告诉我,SQL 代码的样子吗?
谢谢