Re: Refining query statement
От | Adrian Klaver |
---|---|
Тема | Re: Refining query statement |
Дата | |
Msg-id | 7cbcfe0e-813e-b25e-f90e-dbf1e04f5076@aklaver.com обсуждение исходный текст |
Ответ на | Re: Refining query statement (Rich Shepard <rshepard@appl-ecosys.com>) |
Ответы |
Re: Refining query statement
Re: Refining query statement |
Список | pgsql-general |
On 1/17/19 9:07 AM, Rich Shepard wrote: > On Thu, 17 Jan 2019, David G. Johnston wrote: > >> Yes...though now it just sounds like a flawed data model. > > David, > > This is what I thought. > >> How stuck are you in that regard? Those "future" contacts should have >> their >> own records and not be derived via an optional field on an existing >> record. > > My goal is to make a functioning business tracking application for my > consulting services. Almost all my prior postgres databases hold > environmental data for statistical and spatio-temporal analyses so > writing a > business application is a new experience for me and I want to get it > correct. > >> Put differently, how do you know which activities are completed and >> which are not? > > The direct answer is that a completed activity has a row with either a > future next-activity date or a null (which is the case when the status of > that organization or contact is 'no further contact'.) To be clear the next-activity date = next_contact in the database, correct? NULL basically means unknown, so having it stand for something is a bit of a stretch. Seems to me a boolean field of name active to denote contacts you need to keep up with is in order. Then make the next_contact field NOT NULL and replace the current NULL values with 'infinity': https://www.postgresql.org/docs/10/datatype-datetime.html 8.5.1.4. Special Values As to current situation: 1) Use my previous suggestion. or 2) WHERE COALESCE(next_contact, 'infinity') BETWEEN '01/01/2019'::date AND 'today'::date https://www.postgresql.org/docs/10/functions-conditional.html#FUNCTIONS-COALESCE-NVL-IFNULL > > I should rename the Contacts table as People and the Activities table as > Contacts. The original names came from a sales management system I used > as a > design guide, but they're probably confusing to others as well as to me. > :-) > > I can provide my current schema (eight tables) to the list (perhaps > as an > attachment), an individual, or put in on a cloud site and pass the URL. > > Thanks, > > Rich > -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: