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

Prosli mjesec pomoc

[es] :: MS SQL :: Prosli mjesec pomoc

[ Pregleda: 726 | Odgovora: 10 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

west_herc

Član broj: 103549
Poruke: 136
*.tel.net.ba.



Profil

icon Prosli mjesec pomoc12.01.2007. u 13:06

Imam još jedan problem :) i vazda ja sa nekim problemom

Sljedeći pod upit vraća sadašnji mjesec tj tekući i sa nečim ga uspoređujem

SELECT DISTINCT nešto1, nešto2
FROM tablica1
WHERE (DATEPART(month, datum_tekući) =
(SELECT DISTINCT DATEPART(month, GETDATE()) AS Expr1
FROM tablica1 AS Expr2))
GROUP BY nešto1

MENI TREBA PROŠLI MJESEC, ali kad stavim -1 onda mi ako je prvi mjesec vrati nulu, a trebao bi 12.
12.01.2007. u 13:06 

Hrvoje Balažinec
Varaždinske Toplice

Član broj: 123178
Poruke: 28
*.adsl.net.t-com.hr.



Profil

icon Re: Prosli mjesec pomoc12.01.2007. u 13:38
Dal si probao u pod upitu umjesto DATEPART upotrijebiti DATEADD:

Code:

SELECT DISTINCT nešto1, nešto2
FROM tablica1
WHERE (DATEPART(month, datum_tekući) =
(SELECT DISTINCT DATEADD(month, -1, GETDATE()) AS Expr1
FROM tablica1 AS Expr2))
GROUP BY nešto1


jer sad 01 mjesec vraca na 12.
12.01.2007. u 13:38 

logic_rabbit
Radenko Zec
banjaluka

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

Sajt: www.developers.ba


Profil

icon Re: Prosli mjesec pomoc12.01.2007. u 13:53
A umesto one sintakse za tekuci mesec koristi
SELECT MONTH('2006-01-01')
i ona ti vraca mesec.
logic_rabbit (MCAD,MCSD,MCT,MCTS-Windows development,MCPD)
www.sqlpass.rs.ba
12.01.2007. u 13:53 

west_herc

Član broj: 103549
Poruke: 136
*.tel.net.ba.



Profil

icon Re: Prosli mjesec pomoc12.01.2007. u 14:19
Da jeste ali nakon toga ako mi treba prošli mjesec vrati 0 ako je tekući prvi mjesec
12.01.2007. u 14:19 

west_herc

Član broj: 103549
Poruke: 136
*.tel.net.ba.



Profil

icon Re: Prosli mjesec pomoc12.01.2007. u 14:46
Kolega BLAŽINEC, neradi ovo. error
12.01.2007. u 14:46 

logic_rabbit
Radenko Zec
banjaluka

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

Sajt: www.developers.ba


Profil

icon Re: Prosli mjesec pomoc12.01.2007. u 14:48
Probaj DATEDIFF funkciju izmedju 2 datuma.
logic_rabbit (MCAD,MCSD,MCT,MCTS-Windows development,MCPD)
www.sqlpass.rs.ba
12.01.2007. u 14:48 

DarkMan
Darko Matesic

Član broj: 20445
Poruke: 461
217.169.219.*



Profil

icon Re: Prosli mjesec pomoc12.01.2007. u 14:57
Citat:
west_herc: Imam još jedan problem :) i vazda ja sa nekim problemom

Sljedeći pod upit vraća sadašnji mjesec tj tekući i sa nečim ga uspoređujem

SELECT DISTINCT nešto1, nešto2
FROM tablica1
WHERE (DATEPART(month, datum_tekući) =
(SELECT DISTINCT DATEPART(month, GETDATE()) AS Expr1
FROM tablica1 AS Expr2))
GROUP BY nešto1

MENI TREBA PROŠLI MJESEC, ali kad stavim -1 onda mi ako je prvi mjesec vrati nulu, a trebao bi 12.



Onaj ugnjezdeni select distinct ti je u ovom kontekstu suvisan (ne vuces ni jedan podatak iz tabele tablica1)
Ako zelis da vratis sve record-e iz prethodnog meseca mozes na sledeci nacin:
Code:

SELECT DISTINCT nešto1, nešto2
FROM         tablica1
WHERE   
where convert(char(7), datum_tekući, 120) = convert(char(7), dateadd(month, -1, getdate()), 120)

convert(char(7), datum_tekući, 120) - vraca godinu i mesec iz tekuceg datuma u formatu 'GGGG-MM'
convert(char(7), dateadd(month, -1, getdate()), 120) - vraca prethodni mesec u formatu 'GGGG-MM'
12.01.2007. u 14:57 

west_herc

Član broj: 103549
Poruke: 136
*.tel.net.ba.



Profil

icon Re: Prosli mjesec pomoc12.01.2007. u 14:57
Da ali to je samo kompliciranije odrediti početak i kraj mjeseca i to svakog. Mislim da se samo vše i više petljam
12.01.2007. u 14:57 

west_herc

Član broj: 103549
Poruke: 136
*.tel.net.ba.



Profil

icon Re: Prosli mjesec pomoc12.01.2007. u 15:16
Evo ga drugovi, ja sam rješio na ovaj način:

Code:

SELECT DISTINCT nešto1, nešto2, nešto3
FROM         tablica
WHERE     (DATEPART(month, moj_datum) =
                          (SELECT DISTINCT DATEPART(month, DATEADD(month, - 1, GETDATE())) AS Expr1
                            FROM          tablica AS Expr2))
GROUP BY nešto1, nešto2, nešto3


Ipak hvala svima još jednom na pomoći

12.01.2007. u 15:16 

DarkMan
Darko Matesic

Član broj: 20445
Poruke: 461
217.169.219.*



Profil

icon Re: Prosli mjesec pomoc12.01.2007. u 15:19
Citat:
west_herc: Evo ga drugovi, ja sam rješio na ovaj način:

Code:

SELECT DISTINCT nešto1, nešto2, nešto3
FROM         tablica
WHERE     (DATEPART(month, moj_datum) =
                          (SELECT DISTINCT DATEPART(month, DATEADD(month, - 1, GETDATE())) AS Expr1
                            FROM          tablica AS Expr2))
GROUP BY nešto1, nešto2, nešto3


Samo obrati paznju da poredis samo mesece bez godina, sto znaci da ako imas podatke iz prethodnih godina da ce ti pokupiti i njih.

12.01.2007. u 15:19 

west_herc

Član broj: 103549
Poruke: 136
*.tel.net.ba.



Profil

icon Re: Prosli mjesec pomoc12.01.2007. u 16:47
OK, kod mene se samo mjeseci poređuju. Mislim ima milion načina da se ovo uradi. Bolji mi je način od DarkMana ali neda mi se sad prepravljat.
12.01.2007. u 16:47 

[es] :: MS SQL :: Prosli mjesec pomoc

[ Pregleda: 726 | Odgovora: 10 ]

Postavi temu Odgovori

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