SQL を使用して SAP の記事の小売価格を見つけようとしていますが、記事の性質上、現在の価格は親または子に対して設定できます。どのフィールドに参加する必要があるかを知る唯一の方法は、特定のフィールドに値があるかどうかです。
私は2つの別々のクエリを持っていますが、何とか1つの結果セットに両方の結果が本当に必要です.
MATNR は記事番号で、M.PMATN は親の記事番号です。M.PMATN フィールドが空白の場合、M.MATNR = A.MATNR でクエリ #1 のように結合したいのですが、M.PMATN が空白でない場合は、そのフィールドの値を M. PMATN = A.MATNR
クエリ #1 - 親の記事番号が存在しないため、記事番号 = 記事番号を使用して、記事自体から価格を取得します。
SELECT A.MANDT, A.VKORG, A.VTWEG, A.MATNR, M.PMATN, K.KBETR, A.DATAB, A.DATBI FROM pdp.KONP AS K
INNER JOIN pdp.A073 AS A ON
A.KNUMH = K.KNUMH
INNER JOIN pdp.MVKE AS M ON
M.VKORG = M.VKORG
AND M.VTWEG = A.VTWEG AND M.MATNR = A.MATNR
WHERE A.MANDT = '510'
AND A.VKORG = '1010'
AND A.VTWEG ='D1'
AND GETDATE() < A.DATBI
AND GETDATE() > A.DATAB
AND M.PMATN = ''
クエリ #2 - 親の記事番号がフィールドに存在するため、それを記事と結合して、親からの価格を見つけます。
SELECT distinct A.MANDT, A.VKORG, A.VTWEG, A.MATNR, M.PMATN, K.KBETR, A.DATAB, A.DATBI FROM pdp.KONP AS K
INNER JOIN pdp.A073 AS A ON
A.KNUMH = K.KNUMH
INNER JOIN pdp.MVKE AS M ON
M.VKORG = M.VKORG
AND M.VTWEG = A.VTWEG AND M.PMATN = A.MATNR
WHERE A.MANDT = '510'
AND A.VKORG = '1010'
AND A.VTWEG ='D1'
AND GETDATE() < A.DATBI
AND GETDATE() > A.DATAB
ありがとう、これを説明しようとして、何らかの意味があったことを願っています。