У меня есть 3 столбца, а именно:
Payment Channel
Payment Name
Total Transaction
Total Transaction
будет COUNT каждого Payment Channel
и Payment Name
.
. В Payment Channel
значения имеют значение PC01
- PC09
.
* 1025.* Я хочу, чтобы мой результат отображал все
Payment Channel
, даже если нет транзакций.
Вот мой SQL-скрипт:
SELECT
B2C_BUY_LOG.PG_CHANNEL AS Payment_Channel,
COMM_CODE.CODE_NAME AS Payment_Name,
COUNT(B2C_BUY_LOG.PAY_ID) AS Total_Transaction
FROM B2C_BUY_LOG
INNER JOIN B2C_BUY_HIST ON B2C_BUY_LOG.PAY_ID = B2C_BUY_HIST.PAY_ID
INNER JOIN COMM_CODE ON B2C_BUY_LOG.PG_CHANNEL = COMM_CODE.CODE
WHERE B2C_BUY_LOG.RET_CODE = 1
AND B2C_BUY_LOG.PAY_ID LIKE '190220%'
AND COMM_CODE.CODE IN('PC01', 'PC02', 'PC03', 'PC04', 'PC05', 'PC06', 'PC07', 'PC08', 'PC09')
GROUP BY Payment_Channel, Payment_Name;
Вотрезультат моего запроса:
Payment_Channel Payment_Name Total_Transaction
PC01 Name-1 14
PC02 Name-2 2
PC03 Name-3 7
PC04 Name-4 9
PC06 Name-6 21
PC08 Name-8 18
PC09 Name-9 95
Этот запрос возвращает только значения совпадения между объединенными таблицами, поскольку это INNER JOIN и PC05 и PC07 отсутствует в результате, потому что у него нет транзакции.Я также пробовал разные JOINS .
Как я могу отобразить PC05
и PC07
со счетом 0 , если нет транзакции?
Спасибо!