Tworzenie nowego widoku.

0

Witam. Chcę stworzyć perspektywę zawierającą imie, nazwisko i miasto osób. Imie i nazwisko znajduje się w tabeli osoby a miasto w tabeli adresy. Oto zawartość tabeli osoby: imie, naziwsko, id_adresu, id_osoby, wiek, stan_cywilny, telefon, pesel a to tabeli adresy: id_adresu, miasto, ulica, nr.

Tworzę taką perspektywę:

create view widok1 as select osoby.imie, osoby.nazwisko, adresy.miasto from osoby, adresy where adresy.id_adresu = osoby.id_adresu;

i próbuję wyświetlić:

select *from widok1;

Jednak dostaję jakieś głupoty 50 wierszy wypełnionych błędnymi danymi. Czemu to nie działa? Przykładowo zapytanie:

select osoby.imie, osoby.nazwisko, adresy.miasto from osoby, adresy where adresy.id_adresu = osoby.id_adresu;

wyświetla mi wszystko prawidłowo. Proszę o pomoc.

0
olek1 napisał(a)

Czemu to nie działa?
Jedyna poprawna odpowiedz na tak zadane pytanie i z taką ilością "danych" jaka ciśnie mi się na klawiaturę to bo coś zrąbałeś.

1
CREATE TABLE adresy (
  id_adres NUMBER(4) NOT NULL PRIMARY KEY,
  miasto VARCHAR2(30), 
  ulica VARCHAR2(30) ,
  nr NUMBER(4)
);


CREATE TABLE osoby (
  id_osoba NUMBER(4) NOT NULL PRIMARY KEY,
  imie VARCHAR2(30),
  naziwsko VARCHAR2(30),
  wiek  NUMBER(3),
  pesel NUMBER(11),
  telefon NUMBER(15),
  stan_cywilny VARCHAR2(40),
  id_adres NUMBER(4)-- FOREIGN KEY REFERENCES adresy (id_adres)
);
ALTER TABLE osoby 
ADD FOREIGN KEY (id_adres)
REFERENCES adresy (id_adres);


INSERT INTO adresy VALUES (1, 'Warszawa','ulica_1', 3);
INSERT INTO adresy VALUES (2, 'Kielce','ulica_2', 5);

INSERT INTO osoby VALUES (1, 'ktos1','n_ktos1', 22,12345678901,2121333,'zareczony',1);
INSERT INTO osoby VALUES (2, 'ktos2','n_ktos2', 22,12345673331,2121121,'zareczony',2);
INSERT INTO osoby VALUES (3, 'ktos3','n_ktos3', 22,12333678901,2333121,'zareczony',1);



create view osoby_adresy  as select o.imie ,
o.naziwsko ,a.miasto 
        from osoby o, adresy a where o.id_adres=a.id_adres ;

View created.


select * from osoby_adresy ;
IMIE NAZIWSKO MIASTO
ktos1 n_ktos1 Warszawa
ktos2 n_ktos2 Kielce
ktos3 n_ktos3 Warszawa

podczas tworzenia użytkownika nadałeś uprawnia?

1 użytkowników online, w tym zalogowanych: 0, gości: 1