Re: Display of text fields
| От | Richard Huxton |
|---|---|
| Тема | Re: Display of text fields |
| Дата | |
| Msg-id | 414058A6.1060207@archonet.com обсуждение исходный текст |
| Ответ на | Re: Display of text fields (Ennio-Sr <nasr.laili@tin.it>) |
| Ответы |
Re: Display of text fields
|
| Список | pgsql-general |
Ennio-Sr wrote:
>
> Further to my message of 3rd inst.
> Following your suggestion and after reading some documents, I created
> this sql script:
>
> -----
> SELECT scheda_ltr,
> case scheda_ltr
> when 'T' then
> select * from bib_lt;
> else
> 'autore, titolo, editore from bib_lt;'
> end
> FROM bib_lt;
> -----
> but the result is not what I was after: I get a list with either label
> according to scheda_ltr being 'T' or not!
> Is there any way, once the case is spotted, to obtain execution of the
> query relating to that case, instead of just showing the label?
> Of course I tried without the quotes obtaining parser error.
Ah - looks like I misunderstood what you were trying to do. There is no
way to have a single query return rows with different numbers of columns
- each row must be the same.
You'd have to do something like one of the following (substitute
my_memo_column with whatever your memo field was called).
SELECT
scheda_ltr,
autore,
titolo,
editore,
CASE
WHEN scheda_ltr = 'T' THEN my_memo_column
ELSE 'n/a'
END AS my_memo_column
FROM
bib_lt;
or...
SELECT
scheda_ltr,
CASE
WHEN scheda_ltr='T' THEN autore || ' / ' || titolo || ' / ' || editore
ELSE my_memo_column
END AS merged_columns
FROM
bib_lt;
HTH
--
Richard Huxton
Archonet Ltd
В списке pgsql-general по дате отправления: