Strona 1 z 1

Sortowanie dwoch tabeli

: czw sty 03, 2019 7:56 pm
autor: Dawidek990
Mam dwie tabele

A.
asd
fgh
jkl
bnm
B.
asd
222
bnm
fgh
123
jkl

Chcial bym posortowac to tak zeby asd bylo kolo asd, bnm kolo bnm, a te ktore odpowiednika nie maja np 123 lub 222 byly na koncu lub poczatku.

Jak to zrobic?

Re: Sortowanie dwoch tabeli

: śr sty 09, 2019 10:18 pm
autor: Jan_J
Odpowiedź dam poważną, choć prawdopodobnie mało cieszącą użytkowników współczesnych systemów komputerowych.

1. W uniksie, linuksie i macos służy do tego polecenie comm.
Klasyfikuje ono wpisy z dwóch plików TEKSTOWYCH, które muszą być wcześniej posortowane.
W jednej kolumnie: wpisy znajdujące się tylko w pierwszym pliku; w drugiej: tylko z drugiego; w trzeciej: wpisy wspólne.

Jeżeli mamy

plik A

Kod: Zaznacz cały

asd
bnm
fgh
jkl
zzz
plik B

Kod: Zaznacz cały

123
222
asd
bnm
fgh
jkl
to polecenie
comm A B
daje w wyniku plik (wydruk) z 3 kolumnami:

Kod: Zaznacz cały

	123
	222
		asd
		bnm
		fgh
		jkl
zzz
comm nie wchodzi w skład systemu Windows, choć da się go tam zainstalować.

2. W relacyjnej bazie danych, jeżeli mamy tabele: A z kolumną wpis, i B z kolumną wpis, podobny efekt dostaniesz za pomocą zaklęcia SQL
SELECT * FROM A FULL JOIN B ON A.wpis = B.wpis
W tym przypadku format wynikowy będzie dokładnie jak chcesz, tzn. zdublowane wpisy w 2 kolumnach, a pojedyncze tam gdzie nie ma pary.
Jednak w przypadku, kiedy wartości w jednej tabeli powtarzają się, w tabeli wynikowej będą zwielokrotnione (każdy z każdym).
Tej metody możesz użyć np. w LibreOffice Base, ale nie w Calcu.

3. W arkuszu kalkulacyjnym można sobie zbudować sporym nakładem pracy jakiś półśrodek.