Re: [SQL] Can anybody help me with SQL?

Поиск
Список
Период
Сортировка
От Stephan Szabo
Тема Re: [SQL] Can anybody help me with SQL?
Дата
Msg-id 20011210131528.C70079-100000@megazone23.bigpanda.com
обсуждение исходный текст
Ответ на Can anybody help me with SQL?  ("Richard Lockwood" <rickardo2010@hotmail.com>)
Список pgsql-novice

> 1.Which car was rented for the longest single period? (regno)
>
> SELECT regno, MAX(datein-dateout) "Longest Single Period" FROM rental group
> by regno;
>
> Although this works - it shows ALL the regno's longest periods - how would i
> just display the regno?

There's probably a better way, but if I'm getting the question you want
answered right I think these will do it.

select regno, m from rental, (select max(datein-dateout) as m from rental)
foo where m=datein-dateout;

or

select regno, datein-dateout from rental where datein-dateout=(select
max(datein-dateout) from rental);

> 2. Which car was rented for the longest total period? (regno)
Maybe something like this?  Not entirely sure

select regno, t from (select regno, sum(datein-dateout) as t from rental
group by regno) r where t=(select max(total) from (select
sum(datein-dateout) as total from rental group by regno) foo);

> 3. Which customers (if any) were born on Monday? (surname)
>
> For this question i thought that this would work:
>
> SELECT * FROM cust WHERE TO_CHAR(cd_o_b,'DAY') = 'MONDAY'
>
> But it never works - it says 'no rows selected'
> although there are 2 cusotmers born on Monday
> However if you put wednesday instead of monday or any other day it seems to
> work correctly
> Anyone know why this is?

To_char fills out to a given length with spaces, I'd guess that the value
is actually something like 'MONDAY   '
I think you probably want the format FMDAY which should not have the
spaces.




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

Предыдущее
От: Leandro Fanzone
Дата:
Сообщение: Re: Multiple IN
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Multiple IN