Technical Article

Track Long Running Queries

SQL2000 only.We use the attached script to schedule a SQL Agent job that sets up a Profile trace looking for long queries, and hourly imports them into a table.  This way we can historically (but with some degree of real time) look to see what queries put a load on the system.  We then allow […]

5 (1)

You rated this post out of 5. Change rating

2003-08-23

1,472 reads

Blogs

Taming Database Challenges: Insights from Redgate Keynote

By

I am excited to cover the Microsoft Keynote on Day 2: Redgate Keynote: Simplifying...

AI Innovation in Microsoft Keynote

By

I’m thrilled to be covering the Microsoft Keynote: Fuel AI Innovation with Azure Databases on Day...

Benefits of Migrating from Azure Synapse Analytics to Microsoft Fabric

By

Many customers ask me about the advantages of moving from Azure Synapse Analytics to...

Read the latest Blogs

Forums

query help

By Bruin

I need some help to optimize this query as it runs in many threads...

Unencrypted connections in Always on Availability Group

By Awais Afzal

Hi, In my Always On Availability environment, I am seeing two encrypt_option values as...

Error loading multiple CSV files in SSIS

By water490

Hi everyone I have a bunch of CSV files that I need to bulk...

Visit the forum

Question of the Day

Using Outer Joins

I have this data in a SQL Server 2019 database:

Customer table
CustomerID CustomerName
1          Steve
2          Andy
3          Brian
4          Allen
5          Devin
6          Sally

OrderHeader table
OrderID CustomerID OrderDate
1       1          2024-02-01
2       1          2024-03-01
3       3          2024-04-01
4       4          2024-05-01
6       4          2024-05-01
7       3          2024-06-07
8       2          2024-04-07
I want a list of all customers and their order counts for a period of time, including zero orders. If I run this query, how many rows are returned?
SELECT 
  c.CustomerName, COUNT(oh.OrderID)
 FROM dbo.Customer AS c
LEFT JOIN dbo.OrderHeader AS oh ON oh.CustomerID = c.CustomerID
WHERE oh.Orderdate > '2024/04/01'
GROUP BY c.CustomerName

See possible answers