ďťż
 
zapytanie z CONNECT BY w ORACLU ďťż
 
zapytanie z CONNECT BY w ORACLU
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

zapytanie z CONNECT BY w ORACLU



pstachy - 13-03-2006 11:26
zapytanie z CONNECT BY w ORACLU
  Witam,
Mam taka oto tabele:

CREATE TABLE "KOMORKI"
( "IDKOMORKI" NUMBER NOT NULL,
"IDSPOLKI" NUMBER NOT NULL,
"PARENTID" NUMBER,
"NAZWA" VARCHAR2(80) NOT NULL,

CONSTRAINT "KOMORKI_PK" PRIMARY KEY ("IDKOMORKI") ENABLE,

CONSTRAINT "KOMORKI_FK" FOREIGN KEY ("IDSPOLKI")
REFERENCES "SPOLKI" ("IDSPOLKI") ENABLE,

CONSTRAINT "KOMORKI_FK3" FOREIGN KEY ("PARENTID")
REFERENCES "KOMORKI" ("IDKOMORKI") ENABLE
)

i dane:

id parentid idspolki nazwa
1 NULL 3 IT
2 NULL 3 HR
3 NULL 3 obsluga klienta
4 2 3 rekrutacja
.....

Chce wyswietlic strukture organizacyjna komórek danej spólki

SELECT id, nazwa, SYS_CONNECT_BY_PATH(nazwa, ' / ') "struktura drzewa"
FROM komorki
WHERE idspolki = 3
CONNECT BY PRIOR idkomorki=parentid;

i dostaje:

ID NAZWA STRUKTURA DRZEWA
4 rekrutacja / rekrutacja
2 HR / HR
4 rekrutacja / HR / rekrutacja
3 obsluga klienta / obsluga klienta
1 IT / IT

no i wlasnie... rekrutacja pojawia sie dwa razy, a ja bym chcial
aby pojawiala sie tylko raz tak jak w wierszu 3, tam gdzie jest "/ HR
/ rekrutacja"

prosze o pomoc:)





=?ISO-8859-2?Q?Mase=B3?= - 13-03-2006 11:26

  pstachy wrote:
> Witam,
> Mam taka oto tabele:
>
> CREATE TABLE "KOMORKI"
> ( "IDKOMORKI" NUMBER NOT NULL,
> "IDSPOLKI" NUMBER NOT NULL,
> "PARENTID" NUMBER,
> "NAZWA" VARCHAR2(80) NOT NULL,
>
> CONSTRAINT "KOMORKI_PK" PRIMARY KEY ("IDKOMORKI") ENABLE,
>
> CONSTRAINT "KOMORKI_FK" FOREIGN KEY ("IDSPOLKI")
> REFERENCES "SPOLKI" ("IDSPOLKI") ENABLE,
>
> CONSTRAINT "KOMORKI_FK3" FOREIGN KEY ("PARENTID")
> REFERENCES "KOMORKI" ("IDKOMORKI") ENABLE
> )
>
> i dane:
>
> id parentid idspolki nazwa
> 1 NULL 3 IT
> 2 NULL 3 HR
> 3 NULL 3 obsluga klienta
> 4 2 3 rekrutacja
> ....
>
> Chce wyswietlic strukture organizacyjna komórek danej spólki
>
> SELECT id, nazwa, SYS_CONNECT_BY_PATH(nazwa, ' / ') "struktura drzewa"
> FROM komorki
> WHERE idspolki = 3
> CONNECT BY PRIOR idkomorki=parentid;

i jeszcze brakuje czegos w rodzaju START WITH...

Pozdro

Maseł

P.S. a co mi tam, wklepalem co nieco w googla i polecam ci ta lekture:
http://www.adp-gmbh.ch/ora/sql/connect_by.html




pstachy - 13-03-2006 11:27

  Wielkie dzieki:)
Konkretnie powinno byc tak:

SELECT idkomorki, nazwa, SYS_CONNECT_BY_PATH(nazwa, ' / ') "struktura
drzewa"
FROM komorki
WHERE idspolki = 3
START WITH parentid IS NULL
CONNECT BY PRIOR idkomorki=parentid

pozdrawiam




=?ISO-8859-2?Q?Mase=B3?= - 13-03-2006 11:27

  pstachy wrote:
> Wielkie dzieki:)

ciesze sie, ze sie na cos przydalem :-)

> Konkretnie powinno byc tak:
>
> SELECT idkomorki, nazwa, SYS_CONNECT_BY_PATH(nazwa, ' / ') "struktura
> drzewa"
> FROM komorki
> WHERE idspolki = 3
> START WITH parentid IS NULL
> CONNECT BY PRIOR idkomorki=parentid

No - teraz to ladnie wyglada...

Pozdro

Maseł
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?= =?ISO-8859-2?Q?Narz=EAdzie_do_budowania_zapyta=F1_SQL=2C?==?I SO-8859-2?Q?_PL/PgSQL=2C_PL/SQL=2C_T-SQL?= [ms sql] =?ISO-8859-2?Q?wy=B6wietlenie_pierwszych_5_rekord?==?ISO-8859-2?Q?=F3w_z_zapytania_=3F_odpowiednik_ROWNUM_w_o?== ?ISO-8859-2?Q?raclu_dla_MS_SQL=27a?= phpMyAdmin zadaje =?ISO-8859-2?Q?z=B3e_zapytania=2E=2E=2E_Dl?==?ISO-8859-2?Q?aczego=3F?= [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?= [mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?= [oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?= [mysql/php] jak =?ISO-8859-2?Q?zliczy=E6_ilo=B6=E6_unikalnyc?==?ISO-8859-2?Q?h_rekord=F3w_w_jednym_zapytaniu=3F?= [MySQL] Zapytanie z =?ISO-8859-2?Q?dw=F3ch_tabel_na_raz_?==?ISO-8859-2?Q?i_grupowanie_po_wsp=F3lnym_polu=2E_Jak_=3F?= mecze sie i mecze i nic - zapytanie czesciowe
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lubiatowo.xlx.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