имам проблем В момента имам три таблици, първата таблица е основната и ако във втората таблица няма запис, напишете и него. Но ако във втората таблица съществува запис, така че от третата таблица да се покаже информацията "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 кодът?
Благодаря ти