From: | David Johnston <david(dot)g(dot)johnston(at)gmail(dot)com> |
---|---|
To: | Robert DiFalco <robert(dot)difalco(at)gmail(dot)com> |
Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Combining two queries |
Date: | 2014-12-18 22:07:48 |
Message-ID: | CAKFQuwZBcQxv82ZTbN4W7MsBkXU20XoBoGjPd1rjBRHOhHy6LQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Thu, Dec 18, 2014 at 3:02 PM, Robert DiFalco <robert(dot)difalco(at)gmail(dot)com>
wrote:
> Is the intersect any better than what I originally showed? On the ROW
> approach, I'm not sure where the context for that is coming from since it
> may not be in the intersection. Consider n1 and n2 are NOT friends but they
> have >0 mutual friends between them.
>
>
The INTERSECT is a lot more direct about finding mutual friends. The
ROW() = ROW() piece is independent of the mutual friends question - it
should be put in a WHERE clause and you can test whether a row is returned
which, if one is, means the two people are friends.
"One Query" does not mean you need to do everything all-at-once. I
suggest you make use of CTEs (WITH) subqueries for each distinct
calculation you need then join all of the CTE items together in a final
query the outputs the data in the format desired.
David J.
From | Date | Subject | |
---|---|---|---|
Next Message | Patrick Krecker | 2014-12-18 22:13:59 | Re: Combining two queries |
Previous Message | Robert DiFalco | 2014-12-18 22:02:42 | Re: Combining two queries |