Thread View: pl.comp.bazy-danych
3 messages
3 total messages
Started by Borneq
Sun, 28 Jan 2018 03:34
Zmiana w tabeli na podstawie żądań z drugiej tabeli
Author: Borneq
Date: Sun, 28 Jan 2018 03:34
Date: Sun, 28 Jan 2018 03:34
27 lines
1621 bytes
1621 bytes
(Pseudokod: nazwy tabel i kolumn poglądowe)
Tabela Transakcje:
Adres
HaszTransakcji
Blok //nie używany tutaj
Kwota //nie używana tutaj
IndeksWTransakcji
Tabela Zmiany:
SzukanyHasz
IndeksWTransakcji
NowyAdres
BlokKtóryŻąda
Tabela Transakcje jest wielka a tabela Zmiany malutka.
Co chcę zrobić: jedno polecenie SQL ma zastąpić kod iteracyjny:
for wiersz in tabela Zmiany where BlokKtóryŻąda=%NUMER_BLOKU%
{
select item from tabela Transakcje where
Transakcje.HaszTransakcji = wiersz.SzukanyHasz
and Transakcje.IndeksWTransakcji = wiersz.IndeksWTransakcji;
update item.Adres = wiersz.NowyAdres;
}
Da się zrobić jakiegoś Joina, aby nie trzeba było wielu selektów?
Re: Zmiana w tabeli na podstawie żądań z drugiej tabeli
Author: Borneq
Date: Sun, 28 Jan 2018 03:36
Date: Sun, 28 Jan 2018 03:36
15 lines
1244 bytes
1244 bytes
W dniu 28.01.2018 o 04:34, Borneq pisze: > Tabela Transakcje: > Adres > HaszTransakcji > Blok //nie używany tutaj > Kwota //nie używana tutaj > IndeksWTransakcji > > Tabela Zmiany: > SzukanyHasz > IndeksWTransakcji > NowyAdres > BlokKtóryŻąda I baza danych to MySQL.
Re: Zmiana w tabeli na podstawie żądań z drugiej tabeli
Author: Borneq
Date: Tue, 30 Jan 2018 00:31
Date: Tue, 30 Jan 2018 00:31
23 lines
1545 bytes
1545 bytes
W dniu 28.01.2018 o 04:36, Borneq pisze: > W dniu 28.01.2018 o 04:34, Borneq pisze: >> Tabela Transakcje: >> Adres >> HaszTransakcji >> Blok //nie używany tutaj >> Kwota //nie używana tutaj >> IndeksWTransakcji >> >> Tabela Zmiany: >> SzukanyHasz >> IndeksWTransakcji >> NowyAdres >> BlokKtóryŻąda > > I baza danych to MySQL. Odpowiedź: update Transakcje t join Zmiany z on t.HaszTransakcji = z.SzukanyHasz and t.IndeksWTransakcji = z.IndeksWTransakcji set t.Adres = z.NowyAdres where z.BlokKtoryZada=NUMER_BLOKU
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads