Ich habe eine Abfrage, die eine WHERE
Klausel verwendet, und ich verwende zufällig genau dieselbe WHERE
Klausel in vielen Abfragen in dieser Tabelle (et al.).
Die Abfrage lautet:
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])
Der Teil, den ich ändern möchte, ist die WHERE
Klausel, mit der ich stattdessen eine Tabelle verwenden kann, sodass ich nicht alle meine Abfragen aktualisieren muss, wenn ich eine Kundennummer hinzufügen muss, die ignoriert werden soll. (Und es gibt einige Abfragen, die dieselbe WHERE
Klausel haben.)