За да комбинирате две заявки в една таблица, имате нужда от UNION
операция. Това отнема два набора резултати и основно ги свързва.
Union има малко ограничения и най-важното е, че е необходимо заявките да имат еднакъв брой колони.
Във вашите заявки имате различен брой избрани колони, credit_card_master
заявките имат 5 колони всяка, а PG_NetBanking_Charges
заявките имат по 4 колони всяка.
От това, което виждам, предполагам, че card_type
колона от първата заявка няма еквивалент във втората заявка, така че можете да пренапишете втората заявка като:
SELECT card_name, card_type, charge_amount, B2C_Amount_type, PGM.PG_Type
FROM ...
WHERE ...
UNION
SELECT PGM.Payment_Gateway_Name, null, PGNBC.Online_DC_Charge_Amt,
PGNBC.Online_DC_Charge_type, PGM.PG_Type
FROM ...
WHERE ...
Също така имайте предвид, че колоните в набора с резултати ще вземат имената на колоните от първата заявка, така че може да искате да добавите псевдоним на колона, за да получите по-смислено/генерично име за колоната. Освен това обикновено добавям колона „Източник“, която ми позволява да проследя произхода на реда в обединението, така че крайната ми заявка ще изглежда така:
SELECT 1 as Source, card_name as Name, card_type as Type,
charge_amount as Ammount, B2C_Amount_type as AmmountType,
PGM.PG_Type as PG_Type
FROM ...
WHERE ...
UNION
SELECT 2, PGM.Payment_Gateway_Name, null, PGNBC.Online_DC_Charge_Amt,
PGNBC.Online_DC_Charge_type, PGM.PG_Type
FROM ...
WHERE ...
и резултатът ще има колони Source
, Name
, Type
, Ammount
, AmmountType
и PG_Type
, където Source
ще бъде 1 за редове от първата и 2 за редове от втората заявка.