ďťż
 
[postgresql] jak sie do takich danych dobrac (proste?) ďťż
 
[postgresql] jak sie do takich danych dobrac (proste?)
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] jak sie do takich danych dobrac (proste?)



Grzegorz_na_o2 - 04-05-2006 00:31
[postgresql] jak sie do takich danych dobrac (proste?)
  Witam,

Mam napisana prosta funkcje powiedzmy o nazwie f_1(numer) , gdzie
'numer' jest kluczem w jakiejs tablicy - powiedzmy 'klienci'.

Fukcja f_1 zwraca kilka wartosci (dla uproszczenia - niech beda dwie)
i wszystko jest fajnie gdy wywolam :
SELECT i1,i2 FROM f_1(9999) AS (i1 NUMERIC,i2 AS NUMERIC)

a teraz jak to polaczyc z tabela 'klienci' tak by dla kazdego wiersza z
tej tabeli wypisac OBIE odpowiednie wartosci zwracane przez w/w funkcje ???

probowalem
SELECT numer,i1,i2 FROM klienci,( SELECT i1,i2 FROM f_1(numer) AS (i1
NUMERIC,i2 AS NUMERIC) )
ale oczywiscie to nie dziala ... :(





=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 04-05-2006 00:31

  Grzegorz_na_o2 wrote:
> Witam,
>
> Mam napisana prosta funkcje powiedzmy o nazwie f_1(numer) , gdzie
> 'numer' jest kluczem w jakiejs tablicy - powiedzmy 'klienci'.
>
> Fukcja f_1 zwraca kilka wartosci (dla uproszczenia - niech beda dwie)
> i wszystko jest fajnie gdy wywolam :
> SELECT i1,i2 FROM f_1(9999) AS (i1 NUMERIC,i2 AS NUMERIC)
>
> a teraz jak to polaczyc z tabela 'klienci' tak by dla kazdego wiersza z
> tej tabeli wypisac OBIE odpowiednie wartosci zwracane przez w/w funkcje ???
>
> probowalem
> SELECT numer,i1,i2 FROM klienci,( SELECT i1,i2 FROM f_1(numer) AS (i1
> NUMERIC,i2 AS NUMERIC) )
> ale oczywiscie to nie dziala ... :(

A deklaracje funkcji i błąd jaki zwraca to zapytanie pominąłeś, żeby nas
przetestować, czy w jakimś bardziej tajemniczym celu?

--
P.M.




Grzegorz_na_o2 - 04-05-2006 00:31

  Paweł Matejski wrote:
> A deklaracje funkcji i błąd jaki zwraca to zapytanie pominąłeś, żeby nas
> przetestować, czy w jakimś bardziej tajemniczym celu?
>
tego to juz sie mozna domyslic po wywolaniu ;)
ale prosze bardzo :
funkcja:
CREATE OR REPLACE FUNCTION f_1(INTEGER) RETURNS RECORD
a blad to oczywiscie :
ERROR: subquery must return only one column




Grzegorz_na_o2 - 05-05-2006 00:05

  Grzegorz_na_o2 wrote:
> Paweł Matejski wrote:
>> A deklaracje funkcji i błąd jaki zwraca to zapytanie pominąłeś, żeby nas
>> przetestować, czy w jakimś bardziej tajemniczym celu?
>>
> tego to juz sie mozna domyslic po wywolaniu ;)
> ale prosze bardzo :
> funkcja:
> CREATE OR REPLACE FUNCTION f_1(INTEGER) RETURNS RECORD
> a blad to oczywiscie :
> ERROR: subquery must return only one column

przepraszam - pisalem z pamieci - zapytanie ma wygladac tak:
SELECT numer,i.i1,i.i2 FROM klienci,( SELECT i1,i2 FROM f_1(numer) AS
(i1 NUMERIC,i2 NUMERIC)) AS i ;

w tym wypadku blad to oczywiscie :
ERROR: subquery in FROM may not refer to other relations of same query
level

probowalem wczesniej zrobic tak:
SELECT numer,( SELECT i1,i2 FROM f_1(numer) AS (i1 NUMERIC,i2 NUMERIC))
FROM klienci

i wtedy blad to :
ERROR: subquery must return only one column

Doraznie poradzilem sobie tworzac funkcje zwracajaca SETOF - zlozony typ
danych w ktorym mam wszystkie interesujace mnie pola dla kazdego
wiersza z tabeli 'klienci' i wtedy po prostu robie select na tej nowej
funkcji :
SELECT * from f_nowa_1();

ale czy naprawde nie mozna inaczej ?
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [PostgreSQL] - jak =?ISO-8859-2?Q?zabezpieczy=E6_interesy_tw?==?ISO-8859-2?Q?=F3rcy_systemu_=3F=3F=3F?= postgresql - int/int [MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?= postgresql Select count(*) czy raczej Select count(ID) [PostgreSQL] jak =?ISO-8859-2?Q?pobra=E6_warto=B6=E6_zwracan?==?ISO-8859-2?Q?=B1_przez_funkcj=EA=3F?= [postgresql] INSERT OR UPDATE - jak =?ISO-8859-2?Q?b=EAdzie_na?==?ISO-8859-2?Q?jlepiej=3F?= [postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?= [PostgreSQL] Jak =?ISO-8859-2?Q?po=B3=B1czy=E6_funkcje_z_w?==?ISO-8859-2?Q?idokiem?= Postgres - replikcja master-master Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • wawa19wwa91.pev.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