Tabela 1 ma 3 kolumny w każdej znajdują się różne liczby ( liczby nie powtarzają się w tym samym wierszu , powtarzają się w kolejnym ) ilość wierszy np 500 .
Tabela 2 ma 2 kolumny
- w pierwszej są liczby które występują w Tabeli 1 ( ilość wierszy ) np 25 - mniej wierszy .
- w drugiej są liczby które chciałbym wstawić do Tabeli 1 na zasadzie takiej :
Tabela 1
1 2 3 - kolumny
10 15 25
12 14 17
18 19 20
.....
Tabela 2
1 2 - kolumny
10 2
17 3
19 4
Wynik kwerendy powinien być taki że :
jezeli w Tabeli 1 w kolumnie 1 i wierszu 1 jest liczba 10 to zamieniana jest na liczbę 2 z Tabeli 2 kolumny 2
jezeli w Tabeli 1 w kolumnie 3 i wierszu 2 jest liczba 17 to zamieniana jest na liczbę 3 z Tabeli 2 kolumny 2 i tak samo dalej 19 to 4 itp .
Chodzi o to aby stworzyć kwerendę która dopasuje Do liczb z Tabeli 1 Takie same wartości z Tabeli 2 kolumny 1 i zamiast nich wstawi te z tego samego wiersza z Tabeli 2 z kolumny 2 .
zmiana wartości z tabeli 1 na wartości z tabeli 2
zmiana wartości z tabeli 1 na wartości z tabeli 2
OpenOffice.ux.pl.3.4 na Windows XP
Re: zmiana wartości z tabeli 1 na wartości z tabeli 2
Kwerenda === zapytanie === konstrukcja składniowa umożliwiająca pobranie danych z bazy. Z którymi to danymi można potem zrobić co się chce. Realizację żądań pobrania danych zapewnia polecenia SELECT.
Jeżeli chodzi o wstawianie do tabel, to jest to nieco inny rodzaj operacji.
* wstawianie rekordów z innej tabeli / struktury: SELECT FROM .... INTO ...
* wstawianie rekordów z zewnątrz: INSERT INTO tabela VALUES (...)
* aktualizacja istniejących rekordów tabeli: polecenia UPDATE ma kilka różnych składni. Składnia podstawowa patrz np. http://www.w3schools.com/sql/sql_update.asp. Użycie podzapytań, patrz np. google: sql update from subquery
Jeżeli chodzi o wstawianie do tabel, to jest to nieco inny rodzaj operacji.
* wstawianie rekordów z innej tabeli / struktury: SELECT FROM .... INTO ...
* wstawianie rekordów z zewnątrz: INSERT INTO tabela VALUES (...)
* aktualizacja istniejących rekordów tabeli: polecenia UPDATE ma kilka różnych składni. Składnia podstawowa patrz np. http://www.w3schools.com/sql/sql_update.asp. Użycie podzapytań, patrz np. google: sql update from subquery
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: zmiana wartości z tabeli 1 na wartości z tabeli 2
Niestety nie mogę sobie z tym poradzić chociaż zadanie wydaje się proste i przykłady z google zrozumiałe .
Nie działa INTO , nawet nie mogę zrobić kopi tabeli którą mam np tak :
SELECT *
INTO "TEST" - chyba powinno pobrać wszystko z tabeli T1 i utworzyć nowa tabela TEST
FROM "T1"
Nie kombinuję z INSERT bo podobno trzeba podać ścieżkę do bazy danych a to wydaje mi się już bardziej skomplikowane
Próbowałem na przykładach zamieszczonych w google i nie mogę sobie z tym poradzić .
EWENTUALNIE COŚ TAKIEGO
INSERT INTO "T1"."1" ,"T1"."2" ,"T1"."3" - wstawia do kolumn z tabeli T1
SELECT "T2"."2" - wybrane wartości z kolumny 2 Tabeli T2
FROM "T1" , "T2"
WHERE "T"."1" = "T2"."1" - gdzie z tabeli T2 kolumna 1 równa jest kolumnie 1 z tabeli T1
Nie działa
-
Nie działa INTO , nawet nie mogę zrobić kopi tabeli którą mam np tak :
SELECT *
INTO "TEST" - chyba powinno pobrać wszystko z tabeli T1 i utworzyć nowa tabela TEST
FROM "T1"
Nie kombinuję z INSERT bo podobno trzeba podać ścieżkę do bazy danych a to wydaje mi się już bardziej skomplikowane

Próbowałem na przykładach zamieszczonych w google i nie mogę sobie z tym poradzić .
EWENTUALNIE COŚ TAKIEGO
INSERT INTO "T1"."1" ,"T1"."2" ,"T1"."3" - wstawia do kolumn z tabeli T1
SELECT "T2"."2" - wybrane wartości z kolumny 2 Tabeli T2
FROM "T1" , "T2"
WHERE "T"."1" = "T2"."1" - gdzie z tabeli T2 kolumna 1 równa jest kolumnie 1 z tabeli T1
Nie działa

-
OpenOffice.ux.pl.3.4 na Windows XP
Re: zmiana wartości z tabeli 1 na wartości z tabeli 2
SELECT FROM pierwsza INTO druga utworzy w drugiej pełne nowe rekordy.
UPDATE zastąpi zawartość istniejących rekordów.
Edytor kwerend Base może mieć ograniczenia na składnię SELECT INTO. Zaś UPDATE nie jest kwerendą, i jeżeli czymś ją wymuszać w środowisku Base, to obawiam się, że albo bezpośrednim SQL, albo makrem. Ale mogę nie mieć racji.
UPDATE zastąpi zawartość istniejących rekordów.
Edytor kwerend Base może mieć ograniczenia na składnię SELECT INTO. Zaś UPDATE nie jest kwerendą, i jeżeli czymś ją wymuszać w środowisku Base, to obawiam się, że albo bezpośrednim SQL, albo makrem. Ale mogę nie mieć racji.
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: zmiana wartości z tabeli 1 na wartości z tabeli 2
Z Bazy Danych wybieram Kwerendy i Utwórz Kwerendę za pomocą SQL
Być może są jakieś ograniczenia i chyba nie ma sensu drążyć tego tematu dalej .
W arkuszu poradziłem sobie z tym problemem .
Tabela 1 to komórki od A4:C504 ( to są te 3 kolumny o których mówiłem w Base )
Tabela 2 to komórki od A1:J2 gdzie pierwszy wiersz A1:J1 to liczby które znajdują się w Tabeli 1 A4:C504 a drugi wiersz A2:J2 to tak jakby kod czyli wartości od
1 do 5 na tej zasadzie że komórce A1 równiej 10 odpowiada komórka A2 równa 1 potem na tej zasadzie wszystkie B1 ma odpowiednik W B2 i C1 w C2
Tworze 3 arkusze dla sprawdzenia każdego A4: , każdego B... i każdego C... dla zakresu A1:J1 i jeżeli $A4=A$1 ; A$2 ; 0
W ten sposób mam 3 arkusze i przypisaną do nich jedną liczbę w każdym wierszu dla A , B i C - w komórce dodatkowej mam sumę każdego wiersza w arkuszu a suma musi być równa z tą liczbą z zakresu A2:J2 bo wszystkie pozostałe komórki to 0 .
W ten sposób mam pod liczby z Tabeli 1 podstawione liczby z zakresu A2:J2 - swego rodzaju podmiana liczb . ( to tak nawiasem mówiąc )
Być może są jakieś ograniczenia i chyba nie ma sensu drążyć tego tematu dalej .
W arkuszu poradziłem sobie z tym problemem .
Tabela 1 to komórki od A4:C504 ( to są te 3 kolumny o których mówiłem w Base )
Tabela 2 to komórki od A1:J2 gdzie pierwszy wiersz A1:J1 to liczby które znajdują się w Tabeli 1 A4:C504 a drugi wiersz A2:J2 to tak jakby kod czyli wartości od
1 do 5 na tej zasadzie że komórce A1 równiej 10 odpowiada komórka A2 równa 1 potem na tej zasadzie wszystkie B1 ma odpowiednik W B2 i C1 w C2
Tworze 3 arkusze dla sprawdzenia każdego A4: , każdego B... i każdego C... dla zakresu A1:J1 i jeżeli $A4=A$1 ; A$2 ; 0
W ten sposób mam 3 arkusze i przypisaną do nich jedną liczbę w każdym wierszu dla A , B i C - w komórce dodatkowej mam sumę każdego wiersza w arkuszu a suma musi być równa z tą liczbą z zakresu A2:J2 bo wszystkie pozostałe komórki to 0 .
W ten sposób mam pod liczby z Tabeli 1 podstawione liczby z zakresu A2:J2 - swego rodzaju podmiana liczb . ( to tak nawiasem mówiąc )
OpenOffice.ux.pl.3.4 na Windows XP