ďťż
 
[postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?= ďťż
 
[postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?=
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?=



sf - 21-05-2006 00:23
[postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?=
  Witam,
Czy jest możliwość, aby kilka rekordów w pojedynczym podzapytaniu można
było zapisać jako string?

SELECT *,
(SELECT populacja
FROM populacja
WHERE miastoId = mi.miastoId
ORDER BY data) as jakis_string
FROM miasta mi
WHERE mi.miastoId = 2;

i np. pod jakis_string zapisane by zostały 4 rekordy jako string (np.
"10000 12000 13000 21000").

Pozdrawiam,
Paweł

--
http://www.hyh.pl





Piotr 'piter' Hlawski - 21-05-2006 00:23

  sf wrote:

> Witam,
> Czy jest możliwość, aby kilka rekordów w pojedynczym podzapytaniu można
> było zapisać jako string?
>
> SELECT *,
> (SELECT populacja
> FROM populacja
> WHERE miastoId = mi.miastoId
> ORDER BY data) as jakis_string
> FROM miasta mi
> WHERE mi.miastoId = 2;
>
> i np. pod jakis_string zapisane by zostały 4 rekordy jako string (np.
> "10000 12000 13000 21000").
>

da sie, przykładowa tabela:
CREATE TABLE "temp"
(
id serial NOT NULL,
populacja int4,
CONSTRAINT temp_pkey PRIMARY KEY (id)
)
WITHOUT OIDS;

funkcja:

CREATE OR REPLACE FUNCTION get_as_string()
RETURNS text AS
$BODY$
DECLARE
str text;
rec record;
BEGIN
str = '';

FOR rec IN SELECT populacja FROM temp LOOP
str = str||rec.populacja||' ';
END LOOP;

RETURN str;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;

Zapytanie:

SELECT * FROM get_as_string();

--
..:: Piter // phlawski$gmail,com // gg: 4534287 ::.
Samochody zostały wymyślone by szybciej uciekać przed Chuckiem Norrisem.
Chuck Norris wymyślił wypadek samochodowy.




=?ISO-8859-2?Q?Micha=B3_Zaborowski?= - 21-05-2006 00:23

  select array(_tu_podzapytanue_) - i mamy array.

Dalej czytamy:
http://www.postgresql.org/docs/8.1/i...ons-array.html
gdzie jest opisane array_to_string i jesteśmy w domciu :)

BTW: Po co koledze takie coś?
--
Pozdrawiam,
Michał Zaborowski (TeXXaS)




hubert depesz lubaczewski - 21-05-2006 00:23

  sf wrote:

> Witam,
> Czy jest możliwość, aby kilka rekordów w pojedynczym podzapytaniu można
> było zapisać jako string?
>
> SELECT *,
> (SELECT populacja
> FROM populacja
> WHERE miastoId = mi.miastoId
> ORDER BY data) as jakis_string
> FROM miasta mi
> WHERE mi.miastoId = 2;
>
> i np. pod jakis_string zapisane by zostały 4 rekordy jako string (np.
> "10000 12000 13000 21000").

CREATE OR replace function agg_text_sum(txt_before TEXT, txt_new TEXT)
RETURNS TEXT AS
$BODY$
DECLARE
BEGIN
IF (txt_before IS NULL) THEN
RETURN txt_new;
END IF;
RETURN txt_before || ' ' || txt_new;
END;
$BODY$
LANGUAGE 'plpgsql';

CREATE aggregate sum (
basetype = TEXT,
sfunc = agg_text_sum,
stype = TEXT
);

i potem:
select sum(populacja::text) from populacja where miastoId = mi.miastoId;

dłuższy tekst o tym wrzuciłem tu:
http://www.depesz.com/index.php/2006...ielu-rekordow/

depesz

--
http://www.depesz.com/ - nowy, lepszy depesz





Piotr 'piter' Hlawski - 21-05-2006 00:23

  Michał Zaborowski wrote:

> select array(_tu_podzapytanue_) - i mamy array.
>
> Dalej czytamy:
> http://www.postgresql.org/docs/8.1/i...ons-array.html
> gdzie jest opisane array_to_string i jesteśmy w domciu :)
>
> BTW: Po co koledze takie coś?

Wiesz... to jest tak, że można pewne rzeczy zrobić na różne sposoby, ja
akurat dałem taki. Działa? działa :)
Twój też działa i dobrze...

--
..:: Piter // phlawski$gmail,com // gg: 4534287 ::.
Chuck Norris może naładować telefon komórkowy trąc nim o brodę.




=?ISO-8859-2?Q?Micha=B3_Zaborowski?= - 21-05-2006 00:23

  Dnia 2006-05-20 15:12, Użytkownik Piotr 'piter' Hlawski napisał:
> Michał Zaborowski wrote:
>
>> select array(_tu_podzapytanue_) - i mamy array.
>>
>> Dalej czytamy:
>> http://www.postgresql.org/docs/8.1/i...ons-array.html
>> gdzie jest opisane array_to_string i jesteśmy w domciu :)
>>
>> BTW: Po co koledze takie coś?
>
> Wiesz... to jest tak, że można pewne rzeczy zrobić na różne sposoby, ja
> akurat dałem taki. Działa? działa :)
> Twój też działa i dobrze...
>
Oj przepraszam, chodziło o to, po co pytającemu takie coś - za daleki
skrót myślowy. Ciekaw jestem, bo w wielu przypadkach dociąganie danych
jest sporo wolniejsze. Z drugiej strony - czyli od strony klienckiej -
trudno jest zorganizować to tak, żeby odpytywanie było pojedynczym
zapytaniem. To co mnie interesuje to doświadczenia innych odnośnie
wydajności.

--
Pozdrawiam,
Michał Zaborowski (TeXXaS)




sf - 22-05-2006 00:02

  > Oj przepraszam, chodziło o to, po co pytającemu takie coś - za daleki
> skrót myślowy. Ciekaw jestem, bo w wielu przypadkach dociąganie danych
> jest sporo wolniejsze. Z drugiej strony - czyli od strony klienckiej -
> trudno jest zorganizować to tak, żeby odpytywanie było pojedynczym
> zapytaniem. To co mnie interesuje to doświadczenia innych odnośnie
> wydajności.
>

Dziękuje wszystkim za odpowiedzi.

Co do tego dlaczego w taki sposób chce to zrealizować.. po prostu nie
muszę się bawić w aplikacji w grupowanie danych. Czy to wolniejsze?
Zapewne, ale w tym przypadku (projekt na własne potrzeby) nie jest to
czynnik, który ma dla mnie jakiekolwiek znaczenie.

--
http://www.hyh.pl
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    postgresql - int/int postgresql Select count(*) czy raczej Select count(ID) Postgres - replikcja master-master Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL] Wstawianie nowego wiersza w przypadku jego braku podczas SELECT w PostgreSQL [Postgres] jak zastapic brakujaca funkcje regexp_replace w PG wersji 8.0 [postgresql] szukanie po indeksie tsearch'owym wlecze sie - da siejakos przyspieszyc? [PostgreSQL] Konfiguracja w pg_hba.conf - dziala tylko "trust" Postgresql - gdzie moge sie nauczyc pisania funkcji i triggerow w [Postgres]Jak wydobyc czas z serwera bazy przez ODBC
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • oefg.opx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com