Portál AbcLinuxu, 14. května 2025 05:40

Dotaz: PostgreSQL - spojování tabulek

26.5.2003 08:59 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
PostgreSQL - spojování tabulek
Přečteno: 147×
Odpovědět | Admin
Je možný spojit tabulky tak, aby jedna celá tabulka (v mém případě o dvou sloupcích - druh a pokryvnost) byla vložena do jedné buňky další tabulky? Svou předsvatu jsem se pokusil načrtnout níže:
Cislo snimku |                 Pritomne druhy         | typ
-------------+----------------------------------------+-----
           1 | Impatiens parviflora    |       10%    | 2C4
             | Anthericum liliago      |       20%    |
             | Hieracium sp.           |        5%    |
             |                         |              |
           2 | Hieracium sp.           |        1%    | 2C5
             | Senecio ovatus          |        3%    |
             | Anthericum liliago      |       10%    |
             | Cardaminopsis arenosa   |       15%    |
             | Myosotis sylvatica      |        5%    | 
             | Impatiens parviflora    |        3%    |
             |                         |              |
            3| atd...                  |        10%   | 2B1
Dalo by se to řešit polem (array), ale to tam nemůžu vkládat vlastnosti těch druhů (právě tu pokryvnost...) Nebo udělat array o 2 rozměrech...hmm

Dík za nápady/odkazy na dokumentaci..

Jáchym
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.5.2003 09:45 pavel 'goldenfish' kysilka
Rozbalit Rozbalit vše PostgreSQL - spojování tabulek
Odpovědět | | Sbalit | Link | Blokovat | Admin
insert into reseni select 'dobre' || ' ' || 'rano' from goldenfish;
26.5.2003 10:47 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
Rozbalit Rozbalit vše PostgreSQL - spojování tabulek
Hezký ;o) ale tím akorát ty hodnoty vložíš do tej tabulky, nešlo by na ně udělat udělat jenom odkaz (join..)? Resp. chápu to dobře - že nestačí, aby se všechny tabulky s kytkama jmenovaly kytky1, kytky2,.., kytky61, na který bych se odvolával, ale ještě v nich musím mít nejlépe sloupec cislo_snimku, pomocí kterýho to pak joinu..? Pro názornost čeho jsem dosáhnul:
=> SELECT *  from kytky1;
        jmeno         | pokryv | id 
----------------------+--------+----
 Impatien  parviflora |    0.5 |  1
 Anthericum liliago   |    0.1 |  1
 Hieracium sp.        |    0.3 |  1

=> SELECT * from pokus4;
 cislo | typ |   datum    
-------+-----+------------
     1 | 2C3 | 2003-03-06
     2 | 2S3 | 2003-04-06
(2 rows)

=> SELECT * FROM pokus3;
 id | kytky | pokryvnost | typ 
----+-------+------------+-----
(0 rows)

=> SELECT cislo,typ,jmeno,pokryv from pokus4 inner join  kytky1 on pokus4.cislo=kytky1.id;
 cislo | typ |        jmeno         | pokryv 
-------+-----+----------------------+--------
     1 | 2C3 | Impatiens parviflora |    0.5
     1 | 2C3 | Anthericum liliago   |    0.1
     1 | 2C3 | Hieracium sp.        |    0.3
(3 rows)

=> INSERT INTO pokus3 (id,kytky,pokryvnost,typ) SELECT 1,jmeno, pokryv,'2S3' from kytky1;
=> SELECT * from pokus3;
 id |        kytky         | pokryvnost | typ 
----+----------------------+------------+-----
  1 | Impatiens parviflora |        0.5 | 2S3
  1 | Anthericum liliago   |        0.1 | 2S3
  1 | Hieracium sp.        |        0.3 | 2S3
Nemám se (kromě dokumentace) zase tak moc čeho chytit, takže trochu tápu, proto se ptám: S oběmy vyriantami (pokus3 a pokus4) jsem dosáhl prakticky stejného výsledku (ještě by to u varianty s pokus4 sneslo CREATE VIEW...), ale co je lepší? A dá se to udělat líp (== úplně jinak)? Dík Jáchym
26.5.2003 23:07 pavel 'goldenfish' kysilka
Rozbalit Rozbalit vše PostgreSQL - spojování tabulek
zdravim,
je to vcelku zajimava uloha. mozna jsem uplne nepochopil o co jde. ty chces mit v tabulce nejakej odkaz na dany sloupce ? anebo potrebujes udelat jenom view nebo docasnou tabulku( a z ni brat data a nezalezi na tom, jak ty data budou aktualni )?
kdyztak se na to muzu chvili mrknout, kdyz bude cas.
posli mi na soukromy mail goldenfish256 at centrum dot cz:
-presny podrobnejsi zneni ulohy
-praktickej priklad k dane uloze( normalne k cemu to je, ne po strance programu, ale z pohledu uzivatele, co ten dotaz dela a jakej ma smysl, k cemu slouzi ?
-pripadne strukturu database, ktera je ovlivnena zadanim ulohy.
zatim pavel kysilka

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.