PostgreSQL - spojeni stringu
Karel Zak
zakkr na zf.jcu.cz
Čtvrtek Listopad 2 01:10:50 CET 2000
On Wed, 1 Nov 2000, Petr Uttendorfsky wrote:
> Zdravim,
>
> mam takovyto select:
>
> select distinct registrace.id_registrace, registrace.kod_kurzu,
> registrace.jmeno, registrace.datum,
> kurz.nazev_kurz, kurz.popis from registrace, kurz where
> registrace.kod_kurzu=kurz.kod_kurzu || kurz.cislo_kurz
>
> Potreboval bych vedet, jestli se podminka provadi tak, ze kurz.kod_kurzu
> a kurz.cislo_kurz jsou spojeny do jednoho retezce a ten se pak porovnan
> s registrace.kod_kurzu.
Vyhodnoceni klausule WHERE musi byt vzdy ukonceno hodnotou boot takze
tezko vyhodnotit '=' (bool) a to spojit s '||' (text)..
jinak jednoduchy pokus:
nooper=# select 'aaa'::text = 'a' || 'aa';
?column?
----------
t
(1 row)
nooper=# select ('aaa'::text = 'a') || 'aa'::text;
ERROR: Unable to identify an operator '||' for types 'bool' and 'text'
You will have to retype this query using an explicit cast
> Pokud ano, proc tam musi byt distinct? Pokud ho neuvedu, jsou vybrany 2
> identicke zaznamy.
Co jsou to identicke zaznamy? ... distinct zajistuje unikatnost *vystupu*,
zalezi tedy na vasich datech ktera lezou z toho dotazu. Pokud tam dva
zaznamy odpovidajici podmince WHERE jsou tak jsou i ve vystupu.
Karel
Další informace o konferenci Databases