2011-10-14 140 views
3

我试图在一周内看到对象的重复记录。我有兴趣看到重复项,而不是只有一个实例的对象。这是我迄今写的:显示SQL查询的重复记录

SELECT a.asset, t.ticketnum, t.symptom_mask, t.setsolution, t.`otherdesc` 
    FROM lamarinfo AS a 
    JOIN lfso AS t 
    ON (a.id = t.asset_id) 
    WHERE open_dt BETWEEN CURDATE() - INTERVAL 7 DAY AND SYSDATE() 
GROUP BY a.`asset` HAVING COUNT(*) > 1; 

这将返回重复记录,但不是每个重复记录。有任何想法吗?

回答

5

对,你应该可以通过子查询来处理这个问题。

SELECT a.asset, t.ticketnum, t.symptom_mask, t.setsolution, t.`otherdesc` 
    FROM lamarinfo AS a 
    JOIN lfso AS t 
    ON (a.id = t.asset_id) 
    WHERE a.asset IN (SELECT asset FROM lamarinfo WHERE open_dt BETWEEN CURDATE() - INTERVAL 7 DAY AND SYSDATE() GROUP BY asset HAVING COUNT(*) > 1)