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?
Sortowanie dwoch tabeli
-
- Posty: 58
- Rejestracja: czw gru 13, 2018 12:15 am
Sortowanie dwoch tabeli
OpenOffice 4.1.6 Windows 10
Re: Sortowanie dwoch tabeli
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
plik Bto polecenie
comm A B
daje w wyniku plik (wydruk) z 3 kolumnami:
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.
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
Kod: Zaznacz cały
123
222
asd
bnm
fgh
jkl
comm A B
daje w wyniku plik (wydruk) z 3 kolumnami:
Kod: Zaznacz cały
123
222
asd
bnm
fgh
jkl
zzz
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.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)