私は何とかより多くの選択とループで選択を行うことができます。4つのテーブル(最後のテーブルはすべてのデータを収集するためのものでした)
しかし今、私は1つのselectステートメントで必要なすべてのフィールドを選択する方法を考えています。これが巨大な選択です:)
SELECT vbak~vbeln vbak~audat
tvakt~bezei
vbap~posnr vbap~matnr vbap~kwmeng vbap~vrkme
lips~vbeln lips~posnr lips~werks lips~lfimg
vbfa~vbtyp_n
FROM vbak JOIN vbap ON vbak~vbeln = vbap~vbeln
JOIN tvakt ON vbak~auart = tvakt~auart
LEFT JOIN vbfa ON vbfa~vbelv = vbak~vbeln AND vbfa~posnv = vbap~posnr
JOIN lips ON vbfa~vbeln = lips~vbeln AND vbfa~posnn = lips~posnr
INTO TABLE gt_salord
WHERE tvakt~spras = 'EN' AND
vbak~vbeln IN s_vbeln AND
vbak~audat IN s_audat.
問題は、これが機能しないことです。アクティブ化しようとすると、次のエラーがスローされます:「「VBAP〜POSNR」と比較できません。LEFTOUTERJOINを使用して、テーブルを最大1つの他のテーブルと結合できます」LEFT JOINを使用せず、JOINのみを使用する場合動作しますが、必要なものがすべて得られません。配達注文が割り当てられていない場合でも、すべての販売注文を取得する必要があります。それを行う方法はありますか、それとも本当に選択を分割する必要がありますか?