Consulta de SQL Server que indica la cantidad vendida en 3 períodos de tiempo diferentes

Parsa Moshiri

Estoy tratando de escribir una consulta SQL que seleccione algunos datos de una tabla. Los datos que quiero incluyen cuántas veces se ha vendido un artículo y el objetivo es tener columnas que indiquen cuántas veces se ha vendido el artículo en 30, 60 y 90 días. Puedo escribir 3 consultas separadas que hagan el trabajo, pero me gustaría escribir una consulta para que los datos estén todos en una tabla resultante. Esto es lo que tengo hasta ahora:

DECLARE @30daysago DATETIME = DATEADD(DAY,-30,CAST(GETDATE() AS DATE));
DECLARE @90daysago DATETIME = DATEADD(DAY,-90,CAST(GETDATE() AS DATE));

Set NOCOUNT ON
Select company_info_1 from setup

select ii.itemnum, i.itemname,i.price, d.description, count(ii.itemnum)
from invoice_itemized ii
join invoice_totals IT on it.invoice_number=ii.invoice_number
join inventory i on i.itemnum=ii.itemnum
join departments d on d.dept_id=i.dept_id
where it.datetime > @30daysago and len(ii.itemnum) >4
group by ii.itemnum, i.itemname, d.description, i.price
order by count(ii.itemnum) desc

Tim Biegeleisen

Utilice una sola consulta con agregación condicional:

SELECT
    ii.itemnum,
    i.itemname,
    i.price,
    d.description,
    COUNT(ii.itemnum) AS total,
    COUNT(CASE WHEN it.datetime > DATEADD(DAY, -30, CAST(GETDATE() AS DATE))
               THEN ii.itemnum END) AS 30daysago,
    COUNT(CASE WHEN it.datetime > DATEADD(DAY, -90, CAST(GETDATE() AS DATE))
               THEN ii.itemnum END) AS 90daysago
FROM invoice_itemized ii
INNER JOIN invoice_totals IT
    ON it.invoice_number = ii.invoice_number
INNER JOIN inventory I
    ON i.itemnum = ii.itemnum
INNER JOIN departments d
    ON d.dept_id = i.dept_id
WHERE
    LEN(ii.itemnum) > 4
GROUP BY
    ii.itemnum,
    i.itemname,
    d.description,
    i.price
ORDER BY
    ii.itemnum DESC;

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Obtenga períodos de tiempo intermedios en SQL Server

¡Ayuda SQL! Cómo crear una nueva columna que muestre la duración de tiempo entre dos períodos diferentes

Dplyr agrupó porcentajes en diferentes períodos de tiempo

Cruce estocástico hline en diferentes períodos de tiempo

Consulta SQL que muestra la cantidad de atletas que han competido en al menos diez lugares (ubicaciones) diferentes

SQL Server: cálculo de la duración total de períodos de tiempo superpuestos

SQL Server: cálculo de la duración total de períodos de tiempo superpuestos

SQL Server: cómo calcular los días de cama en diferentes períodos de capacidad

¿Cómo obtener la cantidad de tiempo que tomará una consulta en php?

Valores de vector propio para diferentes períodos de tiempo de la misma red (igraph en R)

desagregar períodos de tiempo 3d en diarios

pandas: comparar la suma en dos períodos de tiempo?

Realineación del conjunto de datos para que aparezcan diferentes períodos en la misma fila

Las medidas de la columna de Obiee son las mismas para diferentes períodos de tiempo

Tengo 3 períodos de tiempo en Excel: necesito saber la duración del período continuo más largo

Cuente la cantidad de veces que uno de los campos de mi consulta SQL de Oracle aparece en la consulta

¿Cómo calculo la cantidad de tiempo en cada semana entre dos fechas? - SQL Server

Convertir enteros que representan períodos de tiempo en tiempo en Pandas

Trazar períodos de tiempo en la línea de tiempo de pandas

T-SQL: SELECCIONE publicaciones donde la tendencia es a la baja en dos períodos de tiempo

¿Cómo mostrar diferentes períodos de tiempo en un panel kibana?

¿Cómo mostrar diferentes períodos de tiempo en un panel kibana?

Seaborn lineplot serie de tiempo que indica la tendencia en la actividad

Cuente todos los elementos de la lista de períodos de tiempo en un período de tiempo

Cuente todos los elementos de la lista de períodos de tiempo en un período de tiempo

¿Cómo puedo crear en tiempo de ejecución la cantidad de divs que quiero dependiendo de los datos SQL?

¿Puedo activar el mismo trabajo por lotes de primavera en diferentes intervalos durante diferentes períodos de tiempo?

Mide la cantidad de tiempo en div

ERROR: SQL muestra la cantidad total vendida de la tabla de productos y usa el problema RIGHT JOIN