0

Currently I am doing this:

SELECT 
    *, 
    CASE 
       WHEN [GAML 3] IN (SELECT [A_CUSTOMER] FROM [COM_TAB].[dbo].[A_C]) 
          THEN  'YES' 
          ELSE 'NO' 
    END AS [A_C] 
FROM
    table1

I would like to do something like this:

SELECT 
    *, 
    @[A_C_Case_Logic] 
FROM
    table1

This is due to I will apply same logic to different queries, for example:

SELECT *, @[A_C_Case_Logic] 
FROM Shipments

SELECT *, @[A_C_Case_Logic] 
FROM Backlog

SELECT *, @[A_C_Case_Logic] 
FROM Inventory

I create a connection to Excel Power BI to create charts from these queries.

I would appreciate your help, thanks in advance.

Dale K
  • 25,246
  • 15
  • 42
  • 71
  • Does this answer your question? [How to set variable from a SQL query?](https://stackoverflow.com/questions/3974683/how-to-set-variable-from-a-sql-query) – devlin carnate Apr 23 '21 at 20:37
  • So, declare a variable and set its value. Then reference the variable in your `SELECT` – devlin carnate Apr 23 '21 at 20:38
  • how to declare the varible to pull the text and add it to the sentence? that is my question :$ – Mario Rodriguez Apr 23 '21 at 20:40
  • declare @[A_C_Case_Logic] set = 'WHEN [GAML 3] IN (SELECT [A_CUSTOMER] FROM [COM_TAB].[dbo].[A_C]) THEN 'YES' ELSE 'NO' END AS [A_C]' ..... would it be something like this? – Mario Rodriguez Apr 23 '21 at 20:42
  • yes, something like that. except you need to declare the data type for the variable, and Select from the table where [GAM 3] exists. So, something like: `declare @MyVar varchar(3) = SELECT (CASE WHEN [GAML 3] IN (SELECT [A_CUSTOMER] FROM [A_C] THEN 'YES' ELSE 'NO' END) FROM table1;` – devlin carnate Apr 23 '21 at 20:49
  • it worked like this after declaring the variable: DECLARE A_CUSTOMER_VARIABLE AS VARCHAR(MAX) SET A_CUSTOMER_VARIABLE = (SELECT [ A_CUSTOMER ] FROM [1_COMMON_TABLES].[dbo].AC) DECLARE SQL AS VARCHAR(MAX) SET SQL = 'SELECT *,'+@A_CUSTOMER_VARIABLE+'FROM SHIPMENTS' EXEC (SQL) – Mario Rodriguez Apr 23 '21 at 22:03

0 Answers0