Usually, this will be the result of a query that is improperly joined, something called a cross-join.
Suppose you have two tables: T1 has 12 records in it and T2 has 16 records in it.
If you have a query that looks like this:
Code:
SELECT T1.field1, T2.Field2
FROM T1, T2
WHERE T1.field1 = "george";
Then you're going to get 16 records that all say "george" - 1 for each record in T2.
The proper query will look more like this
Code:
SELECT T1.field1, T2.Field2
FROM T1, T2
WHERE T1.field1 = "george"
AND T1.Matchfield = T2.MatchField;
Or the same query also might look like this
Code:
SELECT T1.field1, T2.Field2
FROM T1
INNER JOIN T2
ON T1.Matchfield = T2.MatchField
WHERE T1.field1 = "george";