External Article

Searching a Flyway Database

As a database gets larger, and development more complex, so it becomes increasingly necessary to be able to search for strings in the source files and the database itself. Maybe you need to find when a table first got created, when a foreign key was added, or to find out which tables lack documentation. I'll show you how to answer these sorts of questions by running simple 'wildcard' searches on your Flyway migration files, or source files, as well as more targeted searches on certain parts of your database model.

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