Per combinare due query in una tabella, è necessario UNION
operazione. Ciò richiede due set di risultati e sostanzialmente li incolla insieme.
L'unione ha poche restrizioni e la più importante è che è necessario che le query abbiano lo stesso numero di colonne.
Nelle tue query hai selezionato un numero diverso di colonne, il credit_card_master
le query hanno 5 colonne ciascuna e PG_NetBanking_Charges
le query hanno 4 colonne ciascuna.
Da quello che posso vedere, immagino che il card_type
la colonna della prima query non ha equivalenti nella seconda query, quindi puoi riscrivere la seconda query come:
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 ...
Nota inoltre che le colonne nel set di risultati prenderanno i nomi delle colonne dalla prima query, quindi potresti voler aggiungere un alias di colonna per ottenere un nome più significativo/generico per la colonna. Inoltre, di solito aggiungo una colonna "Sorgente" che mi consente di tracciare l'origine della riga nell'unione, quindi la mia query finale sarebbe simile a:
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 ...
e il risultato avrà le colonne Source
, Name
, Type
, Ammount
, AmmountType
e PG_Type
, dove Source
sarà 1 per le righe della prima e 2 per le righe della seconda query.