[ srLooks @ 01.12.2011. 10:46 ] @
Imam problema sa UPDATE kolone idTipa. Problem je sledeci.
Imam tabelu _query1SP2009_10 (tabela za probu) koja je napunjena podacima o nekim predmetima sa fakulteta. Svaki predmet treba da ima tip predemta. U toj tabeli postoje sifre predmeta koje se ponavljaju, a koje se odnose na odredjene smerove. Tip predmeta je za svaki smer isti, medjutim, u tabeli za neke predmete na odredjenim smerovima postoje tipovi tih predmeta, dok za iste te predmete, odnosno sifre predmeta, na drugim smerovima ne postoje. Da bi vam problem bio jasniji, prikazacu sturkturu svoje tabele:

TABLE [dbo].[_query1SP2009_10](
[SifraSmera] [char](2) NULL,
[NazivSmera] [varchar](50) NULL,
[SifPredmeta] [char](6) NULL,
[NazivPredmeta] [varchar](50) NULL,
[BrCasovaPred] [int] NULL,
[BrCasovaVezbi] [int] NULL,
[casovaDrugo] [int] NULL,
[ESPB] [money] NULL,
[Obavezan] [int] NULL,
[Izborni] [int] NULL,
[Semestar] [int] NULL,
[godinaSlusanjaPredmeta] [int] NULL,
[studijskiProgram] [nchar](10) NULL,
[BrKolokvijuma] [int] NULL,
[BrSeminarskihRadova] [int] NULL,
[Modul] [char](2) NULL,
[NacinPolaganja] [char](2) NULL,
[idJezika] [int] NULL,
[idTipa] [int] NULL
) ON [PRIMARY]

GO


Dakle, svaki predmet pripada odredjenom tipu predmeta i odredjenom smeru. Jedan predmet moze da se nalazi na vise smerova, stim da se tip predmeta ne menja, ostaje isti za istu sifru predmeta. Moj problem je sto u okviru tabele za pojedine smerove imam tipove predmeta koji pokrivaju sve predmete, dok za iste predmete na durgim smerovima ti tipovi ne postoje. Ja sam napisao sledecu skirptu koja je uradila UPDATE postojece tabele, medjutim nije resila problem u potpunosti:

UPDATE _query1SP2009_10
set idTipa= case
WHEN sifPredmeta=sifPredmeta THEN idTipa
end
WHERE sifPredmeta=sifPredmeta and idTipa is not null

U ovom upitu sam rekao da se uradi update kolone idTipa na gore naveden nacin. Vecinu stvari upit jeodradio kako treba, medjutim, ostali su neki predmeti na pojedinim smerovima nad kojima nije uradjen update, iako je za konkretan predmet na drugom smeru postojala infromacija za idTIpa. Nije mi jasno, kako bi problem mogao da resim u potpunosti.





[Ovu poruku je menjao srLooks dana 01.12.2011. u 12:01 GMT+1]
[ adzo_ @ 01.12.2011. 10:53 ] @
Extra
Racunaj da je reseno....
[ djoka_l @ 01.12.2011. 11:25 ] @
Uh, ajde da malo analiziramo ovu tvoju UPDATE naredbu

Code (sql):

UPDATE _query1SP2009_10
SET idTipa= CASE
WHEN sifPredmeta=sifPredmeta THEN idTipa
END
WHERE sifPredmeta=sifPredmeta AND idTipa IS NOT NULL
 


Ona kaže odradi update tabele _query1SP2009_10 tako što za sve redove za koje je sifPredmeta=sifPredmeta (uvek tačno, mogao si da napišeš i 1=1) i idTipa nije null promeni idTipa na idTipa (tj. ponovo upiši istu vrednost koja je i pre bila).

Ne bih rekao da radi...