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

Uslovne, uskladistene procedure PROBLEMI?

[es] :: MS SQL :: Uslovne, uskladistene procedure PROBLEMI?

[ Pregleda: 2380 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

borcha
Boris Bokan
;-(
Novi Sad

Član broj: 148976
Poruke: 419
*.adsl-1.sezampro.yu.



+3 Profil

icon Uslovne, uskladistene procedure PROBLEMI?20.07.2007. u 13:02 - pre 203 meseci
Moze li neko da mi kaze gde gresim, Treba po prepoznatom selectovanom proseku da konvertuje u drugi izraz
(zamena izraza)!

Code:
    @IDSko bigint,
    @IDSkoGod int,
    @IDUce bigint
AS

SELECT     dbo.tPodUce.Prezime, dbo.tPodUce.Ime,(dbo.tOCENE.Ocena)as Prosek,
case LEFT(AVG(dbo.tOCENE.Ocena), 4)
                when >=4.50 then 'Odlican'
                when >=3.50 and <4.50 then 'Vrlo dobar'
                when >=2.50 and <3.50 then 'Dobar'
                when >=1.50 and <2.50 then 'Dovoljan'
                when <1.50 then 'Nedovoljan'
         end 
                         , dbo.tOCENE.ID_Ucenik, dbo.tPodUce.ID_Ucenik AS Expr1, 
                      dbo.tOCENE.ID_SkoGod, dbo.tOCENE.ID_Skola, dbo.tOblastFV.Naziv, dbo.tOblastFV.ID_OblastFV, dbo.tOCENE.ID_OblastFV AS Expr2
       
            

FROM         dbo.tOCENE INNER JOIN
                      dbo.tPodUce ON dbo.tOCENE.ID_Ucenik = dbo.tPodUce.ID_Ucenik INNER JOIN
                      dbo.tOblastFV ON dbo.tOCENE.ID_OblastFV = dbo.tOblastFV.ID_OblastFV
GROUP BY dbo.tOCENE.ID_Skola, dbo.tOCENE.ID_SkoGod, dbo.tPodUce.ID_Ucenik, dbo.tOCENE.ID_Ucenik, dbo.tPodUce.Prezime, dbo.tPodUce.Ime, 
                      dbo.tOblastFV.Naziv, dbo.tOblastFV.ID_OblastFV, dbo.tOCENE.ID_OblastFV
HAVING     (dbo.tPodUce.ID_Ucenik = @IDUce) AND (dbo.tOCENE.ID_SkoGod = @IDSkoGod) AND (dbo.tOCENE.ID_Skola = @IDSko)
 
Odgovor na temu

borcha
Boris Bokan
;-(
Novi Sad

Član broj: 148976
Poruke: 419
*.adsl-1.sezampro.yu.



+3 Profil

icon Re: Uslovne, uskladistene procedure PROBLEMI?20.07.2007. u 14:33 - pre 203 meseci
Dobro nesto sam uvideo i prepravio. Ali ima jos nesto...(posle koda!)

Code:
.......case LEFT(AVG(dbo.tOCENE.Ocena), 4)
                when >=4.50 then 'Odlican'
                when >=3.50 and <4.50 then 'Vrlo dobar'
                when >=2.50 and <3.50 then 'Dobar'
                when >=1.50 and <2.50 then 'Dovoljan'
                when <1.50 then 'Nedovoljan'
         end as Uspeh,dbo.tOCENE.Ocena  ........


Nisam deklarisao novo polje u koje se postavlja zamenuta rec u odnosu na velicinu proseka...

Ovo sam ispravio ali sad ne prihvata znakove poredjenja, stalno ukazuje na Sintaxu u '>' ili '<' . Da li je do sintaxe ili negde pravi na drugom mestu a ukazuje na iste?! Helpppp...
Pozz..
 
Odgovor na temu

borcha
Boris Bokan
;-(
Novi Sad

Član broj: 148976
Poruke: 419
*.adsl-1.sezampro.yu.



+3 Profil

icon Re: Uslovne, uskladistene procedure PROBLEMI?20.07.2007. u 15:34 - pre 203 meseci
Rezultat dobijam samo kad stavim int broj npr. 4.00 ukoliko postoji vraca rezultat.
E,sad ukoliko stavim znak poredjenja ukazuje mi na Syntax error simbol '<'.
Znaci problem je kako da koristim znakove poredjenja

npr.
Code:

case avg(Ocena)
    when >4.50 Then 'Odlican'
    ........>=3.50 AND <4.50 'Vrlo dobar'
    .....bla,bla,bla...sve do Nedovoljnog!
    end Uspeh,avg(Ocena)as Prosek

 
Odgovor na temu

logic_rabbit
Radenko Zec
banjaluka

Član broj: 74458
Poruke: 271
*.lanaco.com.



+1 Profil

icon Re: Uslovne, uskladistene procedure PROBLEMI?21.07.2007. u 08:40 - pre 203 meseci
SELECT case
when LEFT(AVG(dbo.tOCENE.Ocena), 4)>=4.50 then 'Odlican'
when LEFT(AVG(dbo.tOCENE.Ocena), 4)>=3.50 and LEFT(AVG(dbo.tOCENE.Ocena), 4)<4.50 then 'Vrlo dobar'
when LEFT(AVG(dbo.tOCENE.Ocena), 4)>=2.50 and LEFT(AVG(dbo.tOCENE.Ocena), 4)<3.50 then 'Dobar'
when LEFT(AVG(dbo.tOCENE.Ocena), 4)>=1.50 and LEFT(AVG(dbo.tOCENE.Ocena), 4)<2.50 then 'Dovoljan'
when LEFT(AVG(dbo.tOCENE.Ocena), 4)<1.50 then 'Nedovoljan'
logic_rabbit (MCAD,MCSD,MCT,MCTS-
Windows development,MCPD)
 
Odgovor na temu

BezPanike

Član broj: 128571
Poruke: 74



+2 Profil

icon Re: Uslovne, uskladistene procedure PROBLEMI?21.07.2007. u 09:58 - pre 203 meseci
SET ANSI_NULLS ON


http://msdn2.microsoft.com/en-us/library/ms188048.aspx
 
Odgovor na temu

borcha
Boris Bokan
;-(
Novi Sad

Član broj: 148976
Poruke: 419
*.adsl-1.sezampro.yu.



+3 Profil

icon Re: Uslovne, uskladistene procedure PROBLEMI?21.07.2007. u 12:17 - pre 203 meseci
Da, da tako ide. Juce sam jedno 30 min radio i dosao do istog resenja. Ali, hvala!
 
Odgovor na temu

borcha
Boris Bokan
;-(
Novi Sad

Član broj: 148976
Poruke: 419
*.adsl-1.sezampro.yu.



+3 Profil

icon Re: Uslovne, uskladistene procedure PROBLEMI?22.07.2007. u 00:55 - pre 203 meseci
E, ovako...Slicno j prethodnom problemu gore , (problem sa prosekom)..
sada je slican problem sa Datumima...evo koda pa da vidimo gde gresim...


Code:
 @IDSko bigint,
@IDSkoGod int,
@IDUce bigint,
@PocSkoGod datetime,
@ZavPrvPoGo datetime

as

SELECT     SUM(dbo.tIzostanci.BroCasIzo) AS BrIzo, dbo.tIzostanci.ID_Ucenik, dbo.tPodUce.ID_Ucenik AS Expr1, dbo.tIzostanci.ID_SkoGod, 
                      dbo.tIzostanci.ID_Skola, dbo.tPodUce.Ime, dbo.tPodUce.Prezime, dbo.tSkoGod.ID_SkoGod AS Expr2, dbo.tSkoGod.PocSkoGod, 
                      dbo.tSkoGod.KrajPrvogPG, dbo.tIzostanci.DatIzo
FROM         dbo.tPodUce INNER JOIN
                      dbo.tIzostanci ON dbo.tPodUce.ID_Ucenik = dbo.tIzostanci.ID_Ucenik INNER JOIN
                      dbo.tSkoGod ON dbo.tIzostanci.ID_SkoGod = dbo.tSkoGod.ID_SkoGod
GROUP BY dbo.tIzostanci.DatIzo, dbo.tIzostanci.ID_Ucenik, dbo.tPodUce.ID_Ucenik, dbo.tIzostanci.ID_SkoGod, dbo.tIzostanci.ID_Skola, dbo.tPodUce.Ime, 
                      dbo.tPodUce.Prezime, dbo.tSkoGod.ID_SkoGod, dbo.tSkoGod.PocSkoGod, dbo.tSkoGod.KrajPrvogPG
HAVING      (dbo.tIzostanci.ID_Skola = @IDSko) AND (dbo.tPodUce.ID_Ucenik =@IDUce) AND (dbo.tSkoGod.ID_SkoGod = @IDSkoGod) AND (dbo.tIzostanci.DatIzo >  
                      @PocSkoGod) AND (dbo.tIzostanci.DatIzo < @ZavPrvPoGo)


Obratite paznju na HAVING i znakove poredjenja (><),pogotovu u delu gde poredim opseg datuma i rezultat u osnovu na taj opseg. Dobijam rezultat ali ne onaj koji mi je potreban, izgleda obracunava nesto ali ne kontam sta. Posto mu saljem iz klijenta format datum i to onaj njegov DEFAULT a to je MM/dd/yyyy....
Da li uopste moze da se porede datetime typovi kao int i bigint


Izvinjavam se zbog nazgrapnog koda!! ;-)
 
Odgovor na temu

[es] :: MS SQL :: Uslovne, uskladistene procedure PROBLEMI?

[ Pregleda: 2380 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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