Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[MySQL] Liczba dni roboczych

142 views
Skip to first unread message

Maciek

unread,
Feb 27, 2009, 10:13:17 AM2/27/09
to
Witam,

mam nastepujaca kwerende:

<PRE>
SELECT SUBSTR(nkbd, 1, 4) AS Bank, z.data_pliku AS Zgody,
p.data_pliku AS Potwierdzenia, DATEDIFF(p.data_pliku, z.data_pliku)
FROM Zgody z, Potwierdzenia p
WHERE z.idp = p.idp
GROUP BY SUBSTR(nkbd, 1, 4)
ORDER BY z.data_pliku, p.data_pliku
</PRE>

Sama kwerenda dziala dobrze, jednak zwraca roznice w ogolnej liczbie dni.
Chcialbym to zmodyfikowac tak, abym otrzymal roznice w dniach roboczych.

Mam dodatkowa tabele Kalendarz, zawierajaca dzien oraz informacje, czy jest to
dzien roboczy (1), czy wolny od pracy (0) ale nie bardzo wiem, jak ja wlaczyc
do kwerendy.

Ewentualnie inne podpowiedzi mile widziane, MySQL w wersji 4.0 bez mozliwosci
upgrade-u.

Z gory dziekuje,

Maciek

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

szymon

unread,
Feb 27, 2009, 10:20:50 AM2/27/09
to
Dnia 2009-02-27, pią o godzinie 16:13 +0100, Maciek pisze:

> Witam,
>
> mam nastepujaca kwerende:
>
> <PRE>
> SELECT SUBSTR(nkbd, 1, 4) AS Bank, z.data_pliku AS Zgody,
> p.data_pliku AS Potwierdzenia, DATEDIFF(p.data_pliku, z.data_pliku)
> FROM Zgody z, Potwierdzenia p
> WHERE z.idp = p.idp
> GROUP BY SUBSTR(nkbd, 1, 4)
> ORDER BY z.data_pliku, p.data_pliku
> </PRE>
>
> Sama kwerenda dziala dobrze, jednak zwraca roznice w ogolnej liczbie dni.
> Chcialbym to zmodyfikowac tak, abym otrzymal roznice w dniach roboczych.
>
> Mam dodatkowa tabele Kalendarz, zawierajaca dzien oraz informacje, czy jest to
> dzien roboczy (1), czy wolny od pracy (0) ale nie bardzo wiem, jak ja wlaczyc
> do kwerendy.
>

Zdefiniuj dzień roboczy.


--
szymon


mattheb...@yahoo.com

unread,
Feb 27, 2009, 10:46:04 AM2/27/09
to
> Dnia 2009-02-27, piÄ o godzinie 16:13 +0100, Maciek pisze:
> Zdefiniuj dzieĹ roboczy.
Dzien roboczy to kazdy dzien poza weekendem oraz swietem panstwowym, ma '1' w
tabeli Kalendarz,

Maciek

--
Wys�ano z serwisu OnetNiusy: http://niusy.onet.pl

szymon

unread,
Feb 27, 2009, 10:48:02 AM2/27/09
to
Dnia 2009-02-27, pią o godzinie 16:46 +0100, mattheb...@yahoo.com
pisze:

AAAAAA, racja, nie doczytałem tego, wybacz.


--
szymon


Jakub Wróblewski

unread,
Feb 27, 2009, 12:10:21 PM2/27/09
to
Witam,

"Maciek" <matthebrave...@yahoo.com> wrote in message
news:2201.000000...@newsgate.onet.pl...


> <PRE>
> SELECT SUBSTR(nkbd, 1, 4) AS Bank, z.data_pliku AS Zgody,
> p.data_pliku AS Potwierdzenia, DATEDIFF(p.data_pliku, z.data_pliku)
> FROM Zgody z, Potwierdzenia p
> WHERE z.idp = p.idp
> GROUP BY SUBSTR(nkbd, 1, 4)
> ORDER BY z.data_pliku, p.data_pliku
> </PRE>
>

> Mam dodatkowa tabele Kalendarz, zawierajaca dzien oraz informacje, czy
> jest to
> dzien roboczy (1), czy wolny od pracy (0) ale nie bardzo wiem, jak ja
> wlaczyc
> do kwerendy.

Np. z podzapytaniem:

...(SELECT sum(kalendarz.roboczy) FROM kalendarz WHERE kalendarz.data
BETWEEN p.data_pliku AND z.data_pliku)...

Pozdrawiam,
Jakub Wróblewski

--
Infobright Community Edition:
Open Source Data Warehousing
http://www.infobright.org

mattheb...@yahoo.com

unread,
Feb 27, 2009, 4:43:39 PM2/27/09
to
> Witam,
>
> "Maciek" <matthebrave...@yahoo.com> wrote in message
> news:2201.000000...@newsgate.onet.pl...
> > <PRE>
> > SELECT SUBSTR(nkbd, 1, 4) AS Bank, z.data_pliku AS Zgody,
> > p.data_pliku AS Potwierdzenia, DATEDIFF(p.data_pliku, z.data_pliku)
> > FROM Zgody z, Potwierdzenia p
> > WHERE z.idp = p.idp
> > GROUP BY SUBSTR(nkbd, 1, 4)
> > ORDER BY z.data_pliku, p.data_pliku
> > </PRE>
> >
> > Mam dodatkowa tabele Kalendarz, zawierajaca dzien oraz informacje, czy
> > jest to
> > dzien roboczy (1), czy wolny od pracy (0) ale nie bardzo wiem, jak ja
> > wlaczyc
> > do kwerendy.
>
> Np.  z podzapytaniem:
>
> ...(SELECT sum(kalendarz.roboczy) FROM kalendarz WHERE kalendarz.data
> BETWEEN p.data_pliku AND z.data_pliku)...
>
> Pozdrawiam,
> Jakub Wróblewski
>
Podzapytanie zamiast DATEDIFF(...)?
Mam nadzieje, ze MySQL 4.0 na to pozwoli... sprawdze w poniedzialek,

Pozdrawiam,

Maciek

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

bartosz.sl...@gmail.com

unread,
Feb 27, 2009, 6:20:00 PM2/27/09
to
On Feb 27, 9:43 pm, matthebrave...@yahoo.com wrote:
> Podzapytanie zamiast DATEDIFF(...)?
> Mam nadzieje, ze MySQL 4.0 na to pozwoli... sprawdze w poniedzialek,

afair podzaptania sa od 4.1
Tego sie nie da za bezposrednio pomoca datediff policzyc - pamietam
pisalem cos podobnego do ewidencji czasu pracy, ale nie chce mi sie
juz myslec o tej porze ;)

Pozdrawiam
BS

Jakub Wróblewski

unread,
Feb 28, 2009, 2:49:05 AM2/28/09
to
Witam,

On Feb 27, 9:43 pm, matthebrave...@yahoo.com wrote:
> Podzapytanie zamiast DATEDIFF(...)?
> Mam nadzieje, ze MySQL 4.0 na to pozwoli... sprawdze w poniedzialek,

Jak nie dzialaja podzapytania, to mozna bez nich. Przy okazji przerobilem
troche agregacje, zeby byly zgodne ze standardem:

SELECT SUBSTR(nkbd, 1, 4) AS Bank,

MIN(z.data_pliku) AS Zgody,
MIN(p.data_pliku) AS Potwierdzenia,
SUM(k.czy_robocze) AS Liczba_dni
FROM Zgody z, Potwierdzenia p, Kalendarz k
WHERE z.idp = p.idp
AND k.data BETWEEN p.data_pliku AND z.data_pliku


GROUP BY SUBSTR(nkbd, 1, 4)

ORDER BY Zgody, Potwierdzenia;

Pozdrawiam,
Jakub Wróblewski
--
ICE - Open Source Data Warehousing
http://www.infobright.org

mattheb...@yahoo.com

unread,
Mar 2, 2009, 3:24:38 AM3/2/09
to
> Witam,
>
> "Maciek" <matthebrave...@yahoo.com> wrote in message
> news:2201.000000...@newsgate.onet.pl...
> > <PRE>
> > SELECT SUBSTR(nkbd, 1, 4) AS Bank, z.data_pliku AS Zgody,
> > p.data_pliku AS Potwierdzenia, DATEDIFF(p.data_pliku, z.data_pliku)
> > FROM Zgody z, Potwierdzenia p
> > WHERE z.idp = p.idp
> > GROUP BY SUBSTR(nkbd, 1, 4)
> > ORDER BY z.data_pliku, p.data_pliku
> > </PRE>
> >
> > Mam dodatkowa tabele Kalendarz, zawierajaca dzien oraz informacje, czy
> > jest to
> > dzien roboczy (1), czy wolny od pracy (0) ale nie bardzo wiem, jak ja
> > wlaczyc
> > do kwerendy.
>
> Np.  z podzapytaniem:
>
> ...(SELECT sum(kalendarz.roboczy) FROM kalendarz WHERE kalendarz.data
> BETWEEN p.data_pliku AND z.data_pliku)...
>
> Pozdrawiam,
> Jakub Wróblewski
>
Mam jednak 4.1, podzapytanie zadzialalo, bardzo dziekuje!!!
0 new messages