Saya memiliki kueri yang menggunakan WHERE
klausa, dan saya kebetulan menggunakan WHERE
klausa yang sama persis di banyak pertanyaan pada tabel ini (et al).
Pertanyaannya adalah:
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])
Bagian yang ingin saya ubah adalah WHERE
klausa, sebagai gantinya memungkinkan saya untuk menggunakan tabel sehingga jika saya harus menambahkan nomor pelanggan untuk diabaikan, saya tidak perlu memperbarui semua pertanyaan saya. (Dan ada beberapa pertanyaan yang memiliki WHERE
klausa yang sama ini .)