Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6552091
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T12:25:04+00:00 2026-05-25T12:25:04+00:00

I am newbie in SQL Server 2008.There are three tables which I am using.

  • 0

I am newbie in SQL Server 2008.There are three tables which I am using. I have created two Proc for my result.But I want that these two Proc combined in single Proc.
Below is my proc –

First Proc –

CREATE PROC [GetPaymentGateway]  
 @CompanyID VARCHAR(3),  
 @CCMSalesChannel VARCHAR(50)  
AS  

declare @mainquery varchar(max)  
set @mainquery='SELECT credit_card_master.card_name, credit_card_master.card_type,'+ @CCMSalesChannel +' FROM credit_card_master 
INNER JOIN PaymentGateway_master
ON PaymentGateway_master.payment_gateway_code = credit_card_master.payment_gateway_code  
WHERE [company_id] = '''+@CompanyID+''''  
exec (@mainquery)

Second Proc –

CREATE PROC [GetPaymentGateway2]  
 @CompanyID VARCHAR(3),  
 @NBSalesChannel VARCHAR(50)  
AS  

declare @mainquery varchar(max)  
set @mainquery='SELECT PG_NetBanking_Charges.Online_DC_Charge_Amt, PaymentGateway_master.Payment_Gateway_Name,'+ @NBSalesChannel +' FROM PG_NetBanking_Charges 
INNER JOIN PaymentGateway_master
ON PaymentGateway_master.payment_gateway_code = PG_NetBanking_Charges.payment_gateway_code  
WHERE [company_id] = '''+@CompanyID+''''  
exec (@mainquery)

Please suggest me.Is it possible with hash table or etc.

Thanks in advance.

EDIT – I wanted these two results in single result(like in single table)

EDIT – There are five columns in my table but which one I will select, it will get to know on run time based on param.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T12:25:05+00:00Added an answer on May 25, 2026 at 12:25 pm

    You should avoid doing that kind of SQL inside stored procs unless its absolutely necessary and you are 1000% sure that you are sanitizing your input properly. The fact that all input params are varchar and these seem to be stored procs used to retrieve payment information, is disturbing, to say the least. You are still vulnerable to SQL Injection attacks by doing that kind of dynamic sql inside procs.

    Both procs can be rewritten as follows in one single proc:

    CREATE PROC [GetPaymentGateway]  
     @CompanyID VARCHAR(3),  
     @NBSalesChannel VARCHAR(50)  =null,
     @CCMSalesChannel VARCHAR(50)  =null
    AS  
    BEGIN
    SELECT [card_name], [card_type],@CCMSalesChannel as CCMSalesChannel FROM credit_card_master 
    INNER JOIN PaymentGateway_master
    ON PaymentGateway_master.payment_gateway_code = credit_card_master.payment_gateway_code  
    WHERE [company_id] = @CompanyID
    
    SELECT PG_NetBanking_Charges.Online_DC_Charge_Amt, PaymentGateway_master.Payment_Gateway_Name, @NBSalesChannel as NBSalesChannel  FROM PG_NetBanking_Charges 
    INNER JOIN PaymentGateway_master
    ON PaymentGateway_master.payment_gateway_code = PG_NetBanking_Charges.payment_gateway_code  
    WHERE [company_id] = @CompanyID
    
    END
    

    or perhaps you want this:

    CREATE PROC [GetPaymentGateway]  
     @CompanyID VARCHAR(3),  
     @NBSalesChannel VARCHAR(50)  =null,
     @CCMSalesChannel VARCHAR(50)  =null
    AS  
    BEGIN
    if (@CCMSalesChannel is not null)
    begin
    SELECT [card_name], [card_type],@CCMSalesChannel as CCMSalesChannel FROM credit_card_master 
    INNER JOIN PaymentGateway_master
    ON PaymentGateway_master.payment_gateway_code = credit_card_master.payment_gateway_code  
    WHERE [company_id] = @CompanyID
    end
    
    else if (@NBSalesChannel is not null)
    begin
    SELECT PG_NetBanking_Charges.Online_DC_Charge_Amt, PaymentGateway_master.Payment_Gateway_Name, @NBSalesChannel as NBSalesChannel  FROM PG_NetBanking_Charges 
    INNER JOIN PaymentGateway_master
    ON PaymentGateway_master.payment_gateway_code = PG_NetBanking_Charges.payment_gateway_code  
    WHERE [company_id] = @CompanyID
    end
    
    END
    

    Update In general, one can select a particular column based on a parameter at “run-time”, as follows:

    SELECT PG_NetBanking_Charges.Online_DC_Charge_Amt, PaymentGateway_master.Payment_Gateway_Name,  
     case @NBSalesChannel when 'value1' then ColumnA 
     when 'value2' then ColumnB
     when 'anothervalue' then ColumnC
     when 'yet_another_value' then ColumnD else 
     ColumnE end as SalesChannel  
     FROM PG_NetBanking_Charges 
        INNER JOIN PaymentGateway_master
        ON PaymentGateway_master.payment_gateway_code = PG_NetBanking_Charges.payment_gateway_code  
        WHERE [company_id] = @CompanyID
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm brand new to SQL Server 2008, and have some newbie questions about the
I am a complete SQL Server newbie but I have experience with Oracle and
Dear All, please help me since I'm newbie in SQL Server. I have a
This is sort of SQL newbie question, I think, but here goes. I have
I am using SQL Server 2008 Enterprise. I am looking for a database backup
I am using SQL Server 2008 Enterprise on Windows Server 2008 x64. I want
I’m a newbie in Stored Procedures in SQL Server 2005. Let’s say we have
I am a complete newbie to SSIS. I have a c#/sql server background. I
I am using SQL SERVER 2005 and i am also newbie to SQL SERVER
Firstly I'm a complete newbie when it comes to SQL Server. I have five

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.