Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Uporedjivanje i dopuna tabele uz pomoc druge

[es] :: MS SQL :: Uporedjivanje i dopuna tabele uz pomoc druge

[ Pregleda: 2016 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Neznanac_

Član broj: 149203
Poruke: 32
*.adsl.verat.net.



Profil

icon Uporedjivanje i dopuna tabele uz pomoc druge13.07.2009. u 21:32 - pre 180 meseci
Potrebna mi je pomoc za upit, ne koristeci kursor.
Imam 2 tabele sa identicnim kolonama: Datum, Mesto i Stanje. Kombinacija Datum, Mesto je primarni kljuc i ne postoji isti par u prvoj i drugoj tabeli. Kolona Stanje u prvoj tabeli je prazna. Potrebno je popuni tu kolonu uz pomoc druge i to na sledeci nacin:
Za par (Datum, Mesto) iz prve tabele pronaci maksimalni datum iz druge tabele koji je manji od datuma iz prve takav da je mesto iz prve kolone isto sa mestom iz druge kolone i prepisati Stanje tog reda u prvu tabelu. I tako za svaki red iz prve kolone.
 
Odgovor na temu

sparc
Sladjan Parc

Član broj: 65760
Poruke: 134
*.static.isp.telekom.rs.



Profil

icon Re: Uporedjivanje i dopuna tabele uz pomoc druge14.07.2009. u 07:01 - pre 179 meseci
UPDATE PrvaTabela
set PrvaTabela.stanje = (select top 1 DrugaTabela.stanje from DrugaTbela
WHERE PrvaTabela.Datum > DrugaTabela.Datum
AND PrvaTabela.Mesto = DrugaTabela.Mesto
ORDER BY DrugaTabela.Datum DESC)
 
Odgovor na temu

Neznanac_

Član broj: 149203
Poruke: 32
*.adsl.verat.net.



Profil

icon Re: Uporedjivanje i dopuna tabele uz pomoc druge14.07.2009. u 22:04 - pre 179 meseci
Hvala na pomoci. Ali mi ovaj upit vraca samo jednu vrednost.
Meni je potrebno za svaki red iz prve tabele da se upise odgovarajuca vrednost iz druge.
 
Odgovor na temu

sparc
Sladjan Parc

Član broj: 65760
Poruke: 134
*.static.isp.telekom.rs.



Profil

icon Re: Uporedjivanje i dopuna tabele uz pomoc druge15.07.2009. u 06:49 - pre 179 meseci
Ne razumem te, daj kratak primer.
 
Odgovor na temu

Neznanac_

Član broj: 149203
Poruke: 32
*.adsl.verat.net.



Profil

icon Re: Uporedjivanje i dopuna tabele uz pomoc druge15.07.2009. u 16:57 - pre 179 meseci
Evo primera. Script za kreiranje tabela:
Code:


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Tabela_koja_se_puni](
    [Datum] [datetime] NULL,
    [Mesto] [char](20) NULL,
    [Stanje] [char](10) NULL
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF



GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Tabela_kojom_se_puni](
    [Datum] [datetime] NULL,
    [Mesto] [char](20) NULL,
    [Stanje] [char](10) NULL
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF


 



Slogovi u tabeli Tabela_koja_se_puni su:

2009-05-13 00:00:00.000 Beograd NULL
2009-05-16 00:00:00.000 Nis NULL
2009-05-13 00:00:00.000 Nis NULL
2009-05-13 00:00:00.000 Subotica NULL
2009-05-16 00:00:00.000 Subotica NULL
2009-05-16 00:00:00.000 Beograd NULL


Slogovi u tabeli Tabela_kojom_se_puni:

2009-05-12 00:00:00.000 Beograd 21
2009-05-12 00:00:00.000 Nis 22
2009-05-12 00:00:00.000 Subotica 23
2009-05-15 00:00:00.000 Beograd 31
2009-05-15 00:00:00.000 Nis 32
2009-05-15 00:00:00.000 Subotica 33

Upit treba da za prvi slog (2009-05-13 00:00:00.000 Beograd NULL) nadje u drugoj tabeli slog koji ima max datum koji je manji od 2009-05-13 i kome je Mesto Beograd i da prepise njegovo stanje tj. naci ce slog: 2009-05-12 00:00:00.000 Beograd 21 i upisati stanje 21 umesto null. I tako za svaki red.

 
Odgovor na temu

snekis
consulente, firma

Član broj: 191169
Poruke: 2
*.actual-it.si.



Profil

icon Re: Uporedjivanje i dopuna tabele uz pomoc druge21.07.2009. u 08:58 - pre 179 meseci
Gornji update ti unese pravilno podatke u tvoju tabelu. Proveri još jednom.
 
Odgovor na temu

[es] :: MS SQL :: Uporedjivanje i dopuna tabele uz pomoc druge

[ Pregleda: 2016 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.