Re: Refining query statement

Поиск
Список
Период
Сортировка
От Adrian Klaver
Тема Re: Refining query statement
Дата
Msg-id 68ed1eaa-7a03-fbaf-26e2-a1979b636174@aklaver.com
обсуждение исходный текст
Ответ на Re: Refining query statement  (Rich Shepard <rshepard@appl-ecosys.com>)
Ответы Re: Refining query statement  (Rich Shepard <rshepard@appl-ecosys.com>)
Re: Refining query statement  (Rich Shepard <rshepard@appl-ecosys.com>)
Список pgsql-general
On 1/17/19 8:14 AM, Rich Shepard wrote:
> On Tue, 15 Jan 2019, Thomas Kellerer wrote:
> 
>>    select distinct on (C.contact_id) C.contact_id, C.lname, C.fname, 
>> C.direct_phone, O.org_name, A.next_contact
>>    from Contacts as C
>>      join Organizations as O on C.org_id = O.org_id
>>      join Activities as A on C.contact_id = A.contact_id
>>    where A.next_contact <= 'today'
>>      and A.next_contact > '2018-12-31'
>>    order by c.contact_id, a.next_contact DESC;
> 
> Combining this with Adrian's advice to use BETWEEN I have this statement
> that almost works:
> 
> SELECT DISTINCT ON (c.contact_id) c.contact_id, c.lname, c.fname, 
> c.direct_phone, o.org_name, a.next_contact
> FROM Contacts AS c
>    JOIN Organizations AS o ON c.org_id = o.org_id
>    JOIN Activities AS a ON c.contact_id = a.contact_id WHERE 
> next_contact BETWEEN '01/01/2019'::date AND 'today'::date ORDER BY 
> c.contact_id, a.next_contact DESC;
> 
> It fails when the most recent next_contact column in Activities is NULL and
> an earier row has a non-NULL date in the specified range.
> 
> I tried specifying max(a.next_contact) and added GROUP BY, but the result
> set all returned o.org_name columns to the same one.
> 
> The WHERE clause needs to exclude a contact_id where the most current 
> row in
> Activities has NULL for the next_contact column. I've tried a few ideas but
> none work so I need to learn the proper syntax, and I don't find that in
> Rick van der Lans' or Joe Celko's books I have.

Got to thinking more and realized the answer depends on what you want 
the query to produce. Can you let us know what is you are trying to pull 
out with the query?

> 
> Looking forward to learning,
> 
> Rich
> 
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com


В списке pgsql-general по дате отправления:

Предыдущее
От: "David G. Johnston"
Дата:
Сообщение: Re: Refining query statement
Следующее
От: Rich Shepard
Дата:
Сообщение: Re: Refining query statement