SQL Duplicate Rows After JOIN
A join key matches several rows on one or both sides.
LIKELY CAUSE
Why it happens
Profile key counts before joining and decide the correct business grain.
SAFE FIX
What to do
Do not use DISTINCT as the first fix.
Debug in this order
- Reproduce the problem on the smallest sample that still fails.
- Inspect the exact keys, types, ranges or markup involved instead of only the displayed value.
- Fix the root cause, then rerun the original case and one known-good case.
- Document the rule if the same problem can return in recurring work.
Do not hide an unexplained data error with a cosmetic workaround. Make the input and matching logic predictable first.