У меня есть запрос, который использует WHERE
предложение, и я случайно использую одно и то же WHERE
предложение во многих запросах к этой таблице (и др.).
Запрос:
SELECT
DATENAME(DW, [AtDateTime]) AS [Day of Week]
,COUNT(*) AS [Number of Searches]
,CAST(CAST(COUNT(*) AS DECIMAL(10, 2))
/ COUNT(DISTINCT CONVERT(DATE, [AtDateTime])) AS DECIMAL(10, 2))
AS [Average Searches per Day]
,SUM(CASE WHEN [NumFound] = 0 THEN 1 ELSE 0 END)
AS [Number of Searches with no Results]
,CAST(CAST(SUM(CASE WHEN [NumFound] = 0 THEN 1 ELSE 0 END)
AS DECIMAL(10, 2)) / COUNT(*) AS DECIMAL(10, 4))
AS [Percent of Searches with no Results]
FROM [DB].[dbo].[SearchHistory]
WHERE
[CustomerNumber] <> '1234' AND [CustomerNumber] <> '5678'
GROUP BY DATENAME(DW, [AtDateTime]), DATEPART(DW, [AtDateTime])
ORDER BY DATEPART(DW, [AtDateTime])
Часть, которую я хочу изменить, - это WHERE
предложение, позволяющее мне вместо этого использовать таблицу, так что, если мне нужно добавить номер клиента, который будет игнорироваться, мне не придется обновлять все мои запросы. (И есть довольно много запросов, которые имеют такое же WHERE
предложение.)