![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
witam mam maly problem (albo czegos do konca nie rozumiem).
powiedzmy ze mamy tabele: 1sza: # create table test (test_id serial primary key not null, test char(10) not null, test2 char(10) not null); i 2ga ktora od niej dziedziczy: # create table aa (aa_id serial primary key not null, ulubione char(10)) inherits (test); w tym momencie do mojej drugiej tableli, tj. aa zostana przypisane kolumny z 1szej, tj. z test test_id | test | test2 | aa_id | ulubione ---------+------+-------+-------+---------- (0 rows) w tabeli aa trzymam 'ulubione' pozycje z tableli test. powiedzmy ze do obu tabel wstawie jakies przykladowe dane: test: test_id | test | test2 ---------+------------+------------ 1 | aa | bb 2 | cc | dd 3 | ee | ff aa: test_id | test | test2 | aa_id | ulubione ---------+------------+------------+-------+------------ 2 | cc | dd | 1 | zz gdy wydam komende: # select * from only test; spodziewalam sie otrzymac tylko te kolumny ktore wystepuja w test (czyli poza ta ktora jest rowniez w aa), jednak otrzymuje wszystkie, tj: test_id | test | test2 ---------+------------+------------ 1 | aa | bb 2 | cc | dd 3 | ee | ff (3 rows) ktos moglby naprowadzic mnie na prawidlowy zapis tudziez prawidlowy tok myslenia? pzdr! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Troche mieszasz,
Cytat NIE POWINNO BYC 3CIEJ KOLUMNY GDYZ JEST ONA WSPOLNA DLA RODZICA I DZIECKA.. Trzeci wiersz (rekord)? Ten z 'ccCC'? Z tego co zauwazylem (dziedziczeniem w PG zajmuje sie od przeczytania tego posta (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ) to * -- wyswietli rekordy dodawane bezposrednio do tabeli rodzic czyli bez dzieci * wyswietli rodzicow i dzieci, bo dzieci SA rodzicami (hiearchia dziedziczenia; nie majaca nic wspolnego z relacjami w rodzinie, po prostu nadklasa i podklasa) * select z dzieci jest oczywisty Cytat Z TEGO CO ROZUMUJE, NIE POWINNO BYC 3CIEJ wiersza GDYZ JEST ONA WSPOLNA DLA RODZICA I DZIECKA.. Nie, powinna sie tam znalezc. Jest i rodzic i dziecko (byly dwa inserty do rodzica i do dziecka) z takimi samymi danymi. Wiec ONLY wyswietli rodzica, a bez ONLY i rodzic i dziecko z takimi samymi danymi sie pojawia Kod SELECT * FROM rodzic; rodzic_id;rodzic;rodzic2 1;aa ;AA 2;bb ;BB 3;cc ;CC // troche to pokrecone -- bo mamu dwa rekordy z tym samym PK :) musze jeszcze o tym poczytac 5;dd ;DD 3;cc ;CC // Kod SELECT * FROM ONLY rodzic; rodzic_id;rodzic;rodzic2 1;aa ;AA 2;bb ;BB 3;cc ;CC Kod SELECT * FROM dziecko; rodzic_id;rodzic;rodzic2;dziecko_id;ulubione 5;dd ;DD ;2;44 3;cc ;CC ;3;dziecko PS. co do uzywania konsoli -- przeciez to zbedny hardcore, poza tym te nieczytelne wydruki z potwierdzeniami polecen :/ |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 14:42 |