Обсуждение: [INTERFACES]- SELECT statement

Поиск
Список
Период
Сортировка

[INTERFACES]- SELECT statement

От
Margarita Barvinok
Дата:
Hi,

I have two questions.
1)
 How can I realize this query in C-Embedded SQL?

SELECT MAX (score)
  FROM report
  WHERE uname = 'xxxxxxx'
  AND exam_id IN
      ( SELECT exam_id
        FROM exam
        WHERE name = 'yyyy'
      )

I used DECLARE CURSOR and FETCH for second SELECT statement.
But I don't know how to use WHERE ... IN clause.

2)

I need to create weekly report. I would like to ask users to enter just
one date (for example, Monday of the week).
How can I select information from database for a whole week?

Thank you

-Margarita





Re: [INTERFACES]- SELECT statement

От
Michael Meskes
Дата:
On Thu, Feb 25, 1999 at 09:26:50AM -0500, Margarita Barvinok wrote:
> 1)
>  How can I realize this query in C-Embedded SQL?
>
> SELECT MAX (score)
>   FROM report
>   WHERE uname = 'xxxxxxx'
>   AND exam_id IN
>       ( SELECT exam_id
>         FROM exam
>         WHERE name = 'yyyy'
>       )

exec sql declare C cursor for  SELECT MAX (score)
   FROM report
   WHERE uname = 'xxxxxxx'
   AND exam_id IN
       ( SELECT exam_id
         FROM exam
         WHERE name = 'yyyy'
       );

exec sql fetch in C into :score;

> I used DECLARE CURSOR and FETCH for second SELECT statement.
> But I don't know how to use WHERE ... IN clause.

This is one statement. The subselect is handled by the backend.

Michael
--
Michael Meskes                         | Go SF 49ers!
Th.-Heuss-Str. 61, D-41812 Erkelenz    | Go Rhein Fire!
Tel.: (+49) 2431/72651                 | Use Debian GNU/Linux!
Email: Michael.Meskes@gmx.net          | Use PostgreSQL!

Re: [INTERFACES]- SELECT statement

От
Margarita Barvinok
Дата:
Dear Michael,

Thank you very much.

-Margarita


On Thu, 25 Feb 1999, Michael Meskes wrote:

> On Thu, Feb 25, 1999 at 09:26:50AM -0500, Margarita Barvinok wrote:
> > 1)
> >  How can I realize this query in C-Embedded SQL?
> >
> > SELECT MAX (score)
> >   FROM report
> >   WHERE uname = 'xxxxxxx'
> >   AND exam_id IN
> >       ( SELECT exam_id
> >         FROM exam
> >         WHERE name = 'yyyy'
> >       )
>
> exec sql declare C cursor for  SELECT MAX (score)
>    FROM report
>    WHERE uname = 'xxxxxxx'
>    AND exam_id IN
>        ( SELECT exam_id
>          FROM exam
>          WHERE name = 'yyyy'
>        );
>
> exec sql fetch in C into :score;
>
> > I used DECLARE CURSOR and FETCH for second SELECT statement.
> > But I don't know how to use WHERE ... IN clause.
>
> This is one statement. The subselect is handled by the backend.
>
> Michael
> --
> Michael Meskes                         | Go SF 49ers!
> Th.-Heuss-Str. 61, D-41812 Erkelenz    | Go Rhein Fire!
> Tel.: (+49) 2431/72651                 | Use Debian GNU/Linux!
> Email: Michael.Meskes@gmx.net          | Use PostgreSQL!
>