Kwerenda, liczba pól o danej wartości bez powtórzeń

Użytkowanie programu bazodanowego
damc
Posty: 6
Rejestracja: pt lut 04, 2011 11:10 pm

Kwerenda, liczba pól o danej wartości bez powtórzeń

Post autor: damc »

Mam tabele:

Osoby:
Pesel (klucz główny)

Auta:
Id (klucz główny)
Marka
Pesel (właściciela)

Cel: znalezienie liczby osób, które posiadają auto o marce "skoda".

Zatem:
1. Tworzę kwerendę.
2. Ustawiam, że pole Pesel w Auta i pole Pesel w Osobach są połączone relacją.
3. Ustawiam, że Marka = "skoda".
4. Ustawiam, że widoczny ma być Pesel osoby.

No i otrzymuję listę peseli osób, które posiadają Skodę, tylko że jeden koleś może mieć dwie Skody. Więc wyniki mogą być na przykład takie (załóżmy że PESEL ma 3 cyfry):

234
234
123
345
345
456
236

Więc Pesele się powtarzają, a ja chcę dowiedzieć się ile jest tych peseli nie licząc powtórzeń. Jak to zrobić?
OpenOffice 2.4 Windows XP
damc
Posty: 6
Rejestracja: pt lut 04, 2011 11:10 pm

Re: Kwerenda, liczba pól o danej wartości bez powtórzeń

Post autor: damc »

Problem rozwiązany (funkcja GRUPUJ).

Następny problem, to mam pewne kryteria i mam pewne pole, które jest widoczne w kwerendzie. Moim zadaniem jest wskazać jaka jest najczęściej powtarzająca sie wartość tego pola w wynikach kwerendy.

Jak to zrobić?
OpenOffice 2.4 Windows XP
Jan_J
Posty: 4579
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Kwerenda, liczba pól o danej wartości bez powtórzeń

Post autor: Jan_J »

damc pisze:Mam tabele:

Osoby:
Pesel (klucz główny)

Auta:
Id (klucz główny)
Marka
Pesel (właściciela)

Cel: znalezienie liczby osób, które posiadają auto o marce "skoda".
W skrócie:
select count(distinct Pesel) from Auta where Marka = 'skoda';

Obszerniej:
Albo zadajesz takie zapytanie w projekcie SQL-owym kwerendy. Albo chwilę się męczysz, i zauważasz, że w projekcie graficznym są opcje funkcja zliczania oraz pomijania powtórzeń.

Ja sobie graficzne kreatory darowałem. Komfort niby większy, ale swoboda nie.

PS. Tabela Osoby w ogóle nie jest potrzebna, o ile jesteśmy pewni, że auta.Pesel nie może zawierać kodu nieistniejącego w Osoby.Pesel. A to zależy od uwagi, jaką poświęcono deklaracjom tabel.
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
ODPOWIEDZ