Ke sloučení dvou dotazů do jedné tabulky potřebujete UNION
úkon. To vyžaduje dvě sady výsledků a v podstatě je slepí dohromady.
Union má několik omezení a nejdůležitější je, že je nutné, aby dotazy měly stejný počet sloupců.
Ve vašich dotazech máte vybraný jiný počet sloupců, credit_card_master každý dotaz má 5 sloupců a PG_NetBanking_Charges každý dotaz má 4 sloupce.
Z toho, co vidím, předpokládám, že card_type sloupec z prvního dotazu nemá ekvivalent ve druhém dotazu, takže druhý dotaz můžete přepsat jako:
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 ...
Všimněte si také, že sloupce v sadě výsledků převezmou názvy sloupců z prvního dotazu, takže možná budete chtít přidat alias sloupce, abyste získali smysluplnější / obecnější název sloupce. Obvykle také přidávám sloupec "Zdroj", který mi umožňuje sledovat původ řádku ve sjednocení, takže můj konečný dotaz bude vypadat takto:
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 ...
a výsledek bude mít sloupce Source , Name , Type , Ammount , AmmountType a PG_Type , kde Source bude 1 pro řádky z prvního a 2 pro řádky z druhého dotazu.