baza danych - kwerenda - mezczyzni przyjeci do szpitala.....

mart1na
Użytkownik
Użytkownik
Posty: 128
Rejestracja: 31 sty 2007, o 13:42
Płeć: Kobieta
Podziękował: 146 razy

baza danych - kwerenda - mezczyzni przyjeci do szpitala.....

Post autor: mart1na »

jezeli ktos moglby mi napisac co powinnam po kolei tworzyc i wpisywac bylabym wdzieczna ;]

1 relacja sensowna , kwerenda mezczyzni przyjeci do szpitala przed 2000 rokiem, ktorzy maja dzieci
smiechowiec
Użytkownik
Użytkownik
Posty: 374
Rejestracja: 21 cze 2007, o 11:28
Płeć: Mężczyzna
Lokalizacja: Łostowice
Pomógł: 146 razy

baza danych - kwerenda - mezczyzni przyjeci do szpitala.....

Post autor: smiechowiec »

Kod: Zaznacz cały

-- tworzenie tablicy 
-- w zależności od bazy można stworzyć indexy klucze i powiązania
-- dodajmey możliwie minimalny zestaw danych żeby nie zaciemniać sytuacji
create table sensowna (
  id integer,  -- unikalny klucz rekordu
  id_rodzica integer,  -- odwołanie do klucza rodzica
  imie varchar(20),  -- imię sensiownej osoby
  nazwisko varchar(20), -- nazwisko sensiownej osoby
  plec char(1),  -- płeć M/K
  data_przyjecia date );  -- data przyjęcia do szpital
-- CREATE TABLE

-- dodajemy 4 dane
-- meżczyzna przyjęty przed 2000 rokiem do szpitala
insert into sensowna (id, id_rodzica, imie, nazwisko, plec, data_przyjecia)
  values(1, null, 'Adam', 'Abacki', 'M', '1999-12-19');
-- INSERT 0 1

-- meżczyzna przyjęty przed 2000 rokiem, bez dzieci
insert into sensowna (id, id_rodzica, imie, nazwisko, plec, data_przyjecia)
  values(2, 1, 'Anatol', 'Abacki', 'M', '1999-12-19');
-- INSERT 0 1

-- córeczka pana Adama
insert into sensowna (id, id_rodzica, imie, nazwisko, plec, data_przyjecia)
  values(3, 1, 'Anastazja', 'Abacka', 'K', '1999-12-19');
-- INSERT 0 1

-- meżczyzna przyjęty po 2000 roku, bez dzieci
insert into sensowna (id, id_rodzica, imie, nazwisko, plec, data_przyjecia)
  values(4, null, 'Zenek', 'Zebicki', 'M', '2001-12-19');
-- INSERT 0 1


-- podlgląd 4 rekordów
select * from sensowna;
--  id | id_rodzica |   imie    | nazwisko | plec | data_przyjecia
-- ---+------------+-----------+----------+------+----------------
--   1 |             | Adam      | Abacki   | M    | 1999-12-19
--   2 |          1 | Anatol    | Abacki   | M    | 1999-12-19
--   3 |          1 | Anastazja | Abacka   | K    | 1999-12-19
--   4 |             | Zenek     | Zebicki  | M    | 2001-12-19
-- (4 rows)

-- mezczyzni - where plec = 'M'
-- przyjeci do szpitala przed 2000 rokiem, - and data_przyjecia < '2000-01-01'
-- ktorzy maja dzieci and exists (select 1 from sensowna sd where sd.id_rodzica = s.id);
select * from sensowna s
where plec = 'M'
  and data_przyjecia < '2000-01-01'
  and exists (select 1 from sensowna sd where sd.id_rodzica = s.id);
--  id | id_rodzica | imie | nazwisko | plec | data_przyjecia
-- ---+------------+------+----------+------+----------------
--   1 |            | Adam | Abacki   | M    | 1999-12-19
-- (1 row)
Awatar użytkownika
Undre
Użytkownik
Użytkownik
Posty: 1430
Rejestracja: 15 lis 2004, o 02:05
Płeć: Mężczyzna
Lokalizacja:
Podziękował: 3 razy
Pomógł: 92 razy

baza danych - kwerenda - mezczyzni przyjeci do szpitala.....

Post autor: Undre »

to jeszcze zależy od bazy danych ( w każdej trochę inny SQL jest )
mart1na
Użytkownik
Użytkownik
Posty: 128
Rejestracja: 31 sty 2007, o 13:42
Płeć: Kobieta
Podziękował: 146 razy

baza danych - kwerenda - mezczyzni przyjeci do szpitala.....

Post autor: mart1na »

o boze !! nic z tego nie kapuje ;p ja mam bazy danych w accessie!!! cos o wiele prostszego ;p
Awatar użytkownika
Undre
Użytkownik
Użytkownik
Posty: 1430
Rejestracja: 15 lis 2004, o 02:05
Płeć: Mężczyzna
Lokalizacja:
Podziękował: 3 razy
Pomógł: 92 razy

baza danych - kwerenda - mezczyzni przyjeci do szpitala.....

Post autor: Undre »

Jak tworzysz kwerendy masz albo widok kreatora albo widok SQL danej kwerendy. To co tutaj podano podpada pod widok SQL.
Jak interesuje cie metoda klikania w tym kreatorze, to na pewno na necie znajdziesz duzo tutoriali, watpie zeby komus chcialo sie opisywac gdzie w ktorym momencie masz na co kliknac zeby to samo uzyskac co komendami SQL. Ewentualnie pomocna bylaby np ta ksiazka : no ale dochodzi problem jej skolowania.

Niemniej - to co smiechowiec rozpisal mozesz powrzucac w kolejne kwerendy - dajesz kreatora kwerend, potem prawym guzikiem myszy gdzies w polu kwerendy i pojawi sie menu kontekstowe gdzie bedzie opcja "Widok SQL", wtedy mozesz tam kolejno umieszczac fragmenty kodu SQL np sama kwerenda tworzaca tabele :

create table sensowna (
id integer,
id_rodzica integer,
imie varchar(20),
nazwisko varchar(20),
plec char(1),
data_przyjecia date );

Zauwaz ze wywalilem wszystkie komentarze, jako ze ACCESS SQL ich nie obsluguje. Tak samo nie mozna o ile pamietam w zakresie jednej kwerendy wykonac wiecej niz jedno zapytanie. Kod smiechowca musialabys wiec porozbijac na sporo kwerend ;P

Poza tym w necie dobry tutorial do Accessa, z ktorego sie troche temu uczylem, niestety po angielsku

ODPOWIEDZ