Hi, 2006/4/8, Dan Buettner <[EMAIL PROTECTED]>: > Seems like what you're looking for is a way to query your database > more efficiently/quickly, and still find all links in either > direction. > > I think the use of a UNION statement should allow this. Basically > write your query twice, joining on id1 the first time and id2 the > second time, with "UNION" in the middle.
To select reciprocal friends of Dan (that is a friends relationship in both ways), I would do that : select p.name from friends f1, friends f2, people p where p.peopleid=f1.id1 and f1.id2=1 AND f1.id2=f2.id1 AND f1.id1=f2.id2 UNION select p.name from friends f1, friends f2, people p where p.peopleid=f1.id2 and f1.id1=1 AND f1.id1=f2.id2 AND f1.id2=f2.id1; +------+ | name | +------+ | Matt | +------+ But I don't think it's the best solution in term of performance :) -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]