On 04/07/07, Igor Tandetnik <[EMAIL PROTECTED]> wrote:
select a1.eid, a1.P, a2.subcase
from barforce_1 a1 join barforce_1 a2 on (a1.P = a2.P)
where not exists
    (select * from barforce_1 a3 where a3.eid = a1.eid and a3.P < a1.P)
order by a1.eid;

Excellent. The only trouble is that I don't understand why it works. I
assume that

a3.P < a1.P

is replacing the MIN(P), but I don't following what is happening.
Would you mind explaining?

I'm not sure your query does what you really mean though. Do you
intentionally join on P, rather than eid? Consider:

To cover all cases, I would join on both, but as P is in my case a
double, there are almost never duplicates.

eid    P    subcase
--------------------
1      10    1
1      20    2
2      30    3
2      40    4

The result of either query (the two should be equivalent) would be

eid    P    subcase
--------------------
1    10    1
2    30    3

i.e. for each element, the minimum P and the subcase at which it occurred.

Thanks for the help

Jeff

-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to