Suppose I want to find out the customers transactions for all customers who have used more than one currency.

eg, given the data

```
CustomerID CurrencyID   Amount
1000       1            100.00
1000       1            200.00
1001       2            100.00
1001       2            200.00
1002       1            100.00
1002       2            200.00
1002       2            100.00
1003       1            100.00
1003       2            200.00

```

I would like to get the results something like

```
1002
    1002       1            100.00
    1002       2            200.00
    1002       2            100.00
1003
    1003       1            100.00
    1003       2            200.00

```

I can get the results by using something like

```
(from r in CustomerTransactions
    group r by new { r.CustomerID, r.CurrencyID } into results
    group results by results.Key.CustomerID into results2
    where results2.Count() > 1
    select results2.ToArray().SelectMany(a=>a);

```

but this isn't efficient because it does multiple database queries.

Is there a better way?