У меня есть запрос, который возвращает две строки данных, которые я хотел бы объединить в 1. Он возвращает две строки, потому что есть две PYMNT_TYPES
, связанные с VOUCHER
.
Я хотел бы добавить некоторую логику, в которой, если PYMNT_TYPE
равно "W", тогда я хочу, чтобы PYMNT_GROSS_AMT
было его собственным полем с именем WITHHOLDING_AMT
, чтобы исключить 2-ю строку.
Часть, с которой я борюсь, состоит в том, что есть другие столбцы, которые имеют разные значения в каждой строке, и я не уверен, устранит ли указанное выше изменение 2-ю строку?
Единственная информация, которая мне небезразлична во 2-й строке, которая не находится в первой строке, - это PYMNT_GROSS_AMT
, которая имеет уникальное значение по сравнению с тем, что находится в первой строке. Вот почему я пытаюсь объединить строки.
SELECT *
FROM PS_PYMNT_VCHR_XREF
WHERE VOUCHER_ID = '00026130'
AND BUSINESS_UNIT = '50000'
Данные возвращаются сейчас:
РЕДАКТИРОВАННЫЙ КОД:
SELECT
T1.*
,T2.PYMNT_GROSS_AMT
FROM
PS_PYMNT_VCHR_XREF T1
LEFT JOIN
PS_PYMNT_VCHR_XREF T2 on
T2.VOUCHER_ID = T1.VOUCHER_ID AND T2.BUSINESS_UNIT = T1.BUSINESS_UNIT
AND T2.PYMNT_TYPE = 'W'
WHERE
T1.VOUCHER_ID = '00026130'
AND T1.BUSINESS_UNIT = '50000'