Blog Posts

Blog Post

Database In Recovery

What do we do? Have you ever run into a database that is in the “In Recovery” state? If that has happened, have the bosses and/or endusers come to...

2012-06-04

Blog Post

Max Server Memory

Sakthivel Chidambaram recently created a calculator which can find out the max server memory value based on the input.
http://blogs.msdn.com/b/sqlsakthi/archive/2012/05/19/cool-now-we-have-a-calculator-for-finding-out-a-max-server-memory-value.aspx

you can...

2012-06-02

5,099 reads

Blogs

Day 2 at PASS Data Community Summit 2024

By

I missed blogging yesterday as I was on stage/backstage for quite a bit of...

PASS Summit 2024 – Wednesday

By

A common theme in the PASS Summits I've attended is community and that's definitely...

Taming Database Challenges: Insights from Redgate Keynote

By

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

Read the latest Blogs

Forums

Deduplicating rows by choosing the row with the shortest string

By Mark Dalley

Hello T-SQL experts I have a table containing team codes and descriptions. Unfortunately, many...

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...

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