Re: Adding two select statements together

Поиск
Список
Период
Сортировка
От Josh Berkus
Тема Re: Adding two select statements together
Дата
Msg-id web-1372465@davinci.ethosmedia.com
обсуждение исходный текст
Ответ на Adding two select statements together  ("Brian Johnson" <bjohnson@jecinc.on.ca>)
Список pgsql-novice
Brian,

> I have three tables for entering time data for projects.
>
> The three tables are timeentries, projects, and projectstatus.
>  timeentries
> references the project id from projects and projects references the
> projectstatus table

This sounds nightmarish ... do you have any design control over the
database?

> I want to select all of the projects that aren't defined as
> "Inactive" like
> so
> SELECT testproject.*, teststatus.name
> FROM testproject INNER JOIN teststatus ON testproject.status =
> teststatus.id
> WHERE (teststatus.name<>"Inactive");
>
>
> but I also want to include any projects that are referenced by the
> timeentries between two dates (without having duplicate project
> listings)

What's wrong with changing the where clause to:

WHERE (teststatus.name<>"Inactive")
    OR EXISTS ( SELECT timeentries.projectid
            FROM timeentries
            WHERE timeentries.dateentered BETWEEN $start_date AND $end_date
            AND projectid = testproject.projectid);

You should pick up a SQL book to learn about more clauses like EXISTS.
 See:
http://techdocs.postgresql.org/techdocs/bookreviews.php
For listings of a few books.

-Josh Berkus



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

Предыдущее
От: "Brian Johnson"
Дата:
Сообщение: Adding two select statements together
Следующее
От: "Juliet May"
Дата:
Сообщение: Working with multiple selects?