Hi,

I encountered a problem with a DISTINCT query (mySQL-3.23.42). I need to
order by a field not contained in the field set of the SELECT clause. The
following query works correctly:


SELECT DISTINCT
        p.lastchanged AS lastchanged,
        p.dam_id AS dam_id,
        d.dam AS dam,
        d.sire1 AS sire1,
        d.dam1 AS dam1,
        d.year AS year
FROM
        products p
LEFT JOIN
        dams d
ON
        (p.dam_id=d.dam_id)
WHERE
        p.lastchanged>='$s_from_date' AND
        p.active='Y'
ORDER BY
        p.lastchanged DESC,
        d.dam ASC


However I don't want to sort by "lastchanged", but by "changed" instead,
which has a different meaning than lastchanged in my tables. But now every
row shows up several hundred times, instead of being DISTINCTed.


SELECT DISTINCT
        p.lastchanged AS lastchanged,
        p.dam_id AS dam_id,
        d.dam AS dam,
        d.sire1 AS sire1,
        d.dam1 AS dam1,
        d.year AS year
FROM
        products p
LEFT JOIN
        dams d
ON
        (p.dam_id=d.dam_id)
WHERE
        p.lastchanged>='$s_from_date' AND
        p.active='Y'
ORDER BY
        p.changed DESC,
        d.dam ASC

Any idea how I can get this sorted by changed, but correctly DISTINCTed?


Regards
... Ralph ...



---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to