Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/06/2020, 15:15
antonio_dsanchez
 
Fecha de Ingreso: abril-2015
Mensajes: 130
Antigüedad: 9 años, 7 meses
Puntos: 0
query con variables en sql server

hola a todos tengo un query y quiero agregar un grupo de variables que van a afectar al query

este es mi query

Código SQL:
Ver original
  1. SELECT B.Part_No,
  2.         B.Name,
  3.  
  4. SUM(A.Quantity) AS 'Cantidad OK',
  5.  
  6.          ISNULL((SELECT SUM(D.Quantity) FROM Part_v_Scrap D
  7. WHERE A.Job_Key = D.Job_Key AND A.Part_Key = D.Part_Key AND CONVERT(DATE,A.Change_Date) BETWEEN @FechaInicio AND @FechaFin AND CONVERT(DATE,D.Add_Date) BETWEEN @FechaInicio AND @FechaFin),0) AS 'SCRAP',
  8.  
  9. ISNULL((SELECT SUM (COALESCE (A.Quantity, 0)) FROM Part_v_Container_Change2 AS A
  10. WHERE CONVERT(DATE,A.Change_Date) BETWEEN @FechaInicio AND @FechaFin
  11.         AND A.Container_Status = 'Rework' AND A.Last_Action = @Linea
  12.         AND A.Active = 1 ),0)  AS 'Cantidad Retrabajo',
  13.        
  14.          ISNULL((SELECT SUM(D.Quantity) FROM Part_v_Scrap D
  15. WHERE A.Job_Key = D.Job_Key AND A.Part_Key = D.Part_Key AND CONVERT(DATE,A.Change_Date) BETWEEN @FechaInicio AND @FechaFin AND CONVERT(DATE,D.Add_Date) BETWEEN @FechaInicio AND @FechaFin),0) +
  16.         ISNULL((SELECT SUM (COALESCE (A.Quantity, 0)) FROM Part_v_Container_Change2 AS A
  17. WHERE CONVERT(DATE,A.Change_Date) BETWEEN @FechaInicio AND @FechaFin
  18.         AND A.Container_Status = 'Rework' AND A.Last_Action = @Linea
  19.         AND A.Active = 1 ),0)  AS 'Total defectos'
  20.  
  21.  
  22. FROM Part_v_Container_Change2 A
  23.  
  24.   INNER JOIN Part_v_part B ON A.Part_Key = B.Part_Key
  25.  
  26. WHERE CONVERT(DATE,A.Change_Date) BETWEEN @FechaInicio AND @FechaFin
  27. AND A.Location = @Linea
  28.       AND (A.Last_Action = 'Added at Container Form'
  29.         OR A.Last_Action = 'Container Full')
  30. GROUP BY b.name, b.Part_Key, b.Part_No,A.Job_Key,A.Part_Key, CONVERT(DATE,A.Change_Date),A.Container_Status

quiero agregar un grupo de variables que va a afectar a A.Location en el query dependiendo el que el usuario mande dentro del grupo de variables

por ejemplo

Grupo QUERY linea A = @lineaA Liena B = @LineaB

no se si hacerlo como un case algo asi

CASE WHEN @Linea = 'Linea_A' THEN @Linea = 'Linea-1' WHEN @Linea = 'Linea_B' THEN @Linea = 'Linea-2' ELSE result END;