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]