Witam po weekendzie :)
Dzięki za wszystkie uwagi
woolfik
Mówimy o SQL Express. Nowy wspominał o Oracle
Lubię swoje kolana i nie zwykłem do nich strzelać - NULL i 0 rozróżniam.
Nie, nie jest to projekt studencki - dostaliśmy maszynę z dedykowaną bazą danych, a że zasobów w postaci informatyka od baz danych w firmie brak - sam rzeźbię (jestem inżynierem produkcji).
BlackBad
Struktura tabeli i zapytania - poniżej.
Tabele z wynikami umieściłem pod zapytaniami
(tydzień 6 usunąłem ponieważ zmieniał się z godziny na godzinę, bo maszyna cały czas produkuje).
Tak więc dzisiaj oba zapytania generują ten sam wynik, co z jednej strony mnie cieszy, bo tego oczekiwałem. Z drugiej strony - nie wiem dlaczego :(
Struktura tabeli T_Datalog_Master:
Column Name |
Data Type |
Allow Nulls |
ID |
int |
Unchecked |
LOT |
varchar(30) |
Unchecked |
SERIAL_NUMBER |
varchar(30) |
Unchecked |
LUD |
datetime |
Unchecked |
ScrapResistance |
bit |
Checked |
LeftMgoDepth |
int |
Checked |
RightMgoDepth |
int |
Checked |
LeftCapSize |
int |
Checked |
RigthCapSize |
int |
Checked |
LeftOhmTestDone |
bit |
Checked |
LeftOhmTestNotOK |
bit |
Checked |
LeftInsTestDone |
bit |
Checked |
LeftInsTestNotOK |
bit |
Checked |
LeftR2TestDone |
bit |
Checked |
LeftR2TestNotOK |
bit |
Checked |
LeftR1TestDone |
bit |
Checked |
LeftR1TestNotOK |
bit |
Checked |
LeftCapDone |
bit |
Checked |
LeftCapNotOK |
bit |
Checked |
LeftConingDone |
bit |
Checked |
LeftConingNotOK |
bit |
Checked |
LeftMgoCtrlDone |
bit |
Checked |
LeftMgoCtrlNotOK |
bit |
Checked |
LeftCleaningDone |
bit |
Checked |
LeftCleaningNotOK |
bit |
Checked |
LeftCenteringDone |
bit |
Checked |
LeftCenteringNotOK |
bit |
Checked |
LeftCutDone |
bit |
Checked |
LeftPinCtrlDone |
bit |
Checked |
LeftPinCtrlNotOK |
bit |
Checked |
LeftChamperingDone |
bit |
Checked |
LeftChamperingNotOK |
bit |
Checked |
RightOhmTestDone |
bit |
Checked |
RightOhmTestNotOK |
bit |
Checked |
RightInsTestDone |
bit |
Checked |
RightInsTestNotOK |
bit |
Checked |
RightR2TestDone |
bit |
Checked |
RightR2TestNotOK |
bit |
Checked |
RightR1TestDone |
bit |
Checked |
RightR1TestNotOK |
bit |
Checked |
RightCapDone |
bit |
Checked |
RightCapNotOK |
bit |
Checked |
RightConingDone |
bit |
Checked |
RightConingNotOK |
bit |
Checked |
RightMgoCtrlDone |
bit |
Checked |
RightMgoCtrlNotOK |
bit |
Checked |
RightCleaningDone |
bit |
Checked |
RightCleaningNotOK |
bit |
Checked |
RightCenteringDone |
bit |
Checked |
RightCenteringNotOK |
bit |
Checked |
RightCutDone |
bit |
Checked |
RightPinCtrlDone |
bit |
Checked |
RightPinCtrlNotOK |
bit |
Checked |
RightChamperingDone |
bit |
Checked |
RightChamperingNotOK |
bit |
Checked |
Zapytanie pierwsze:
`SET` datefirst 1; -- w zależnosci od ustawien jezyka
`SELECT` datepart(yy,lud) as Rok, datepart(ww, LUD) as Tydzień,
SUM(CASE WHEN LeftCenteringNotOK=1 or RightCenteringNotOK=1 THEN 1 ELSE 0 END) Centrowanie_Braki
`FROM` dbo.T_DATALOG_MASTER
`GROUP` `BY` datepart(yyyy,lud), datepart(week, LUD)
`ORDER` `BY` Rok, Tydzień
Wynik zapytania z 8-02 13:35
Rok | Tydzień | Centrowanie_Braki
---------------- | -------------------
2018 | 4 | 687
2018 | 5 | 307
Wynik zapytania z 12-02 8:10
Rok | Tydzień | Centrowanie_Braki
---------------- | -------------------
2018 | 4 | 687
2018 | 5 | 307
Zapytanie drugie:
`SELECT` datepart(yy,lud) as Rok, datepart(ww, LUD) as Tydzień, COUNT(ID) AS Centrowanie_Braki
`FROM` dbo.T_DATALOG_MASTER
`WHERE` (LeftCenteringNotOK=1 or RightCenteringNotOK=1)
`GROUP` `BY` datepart(yyyy,lud), datepart(week, LUD)
`ORDER` `BY` Rok, Tydzień
Wynik zapytania z 8-02 13:36
Rok | Tydzień | Centrowanie_Braki
---------------- | -------------------
2018 | 4 | 613
2018 | 5 | 330
Wynik zapytania z 12-02 8:11
Rok | Tydzień | Centrowanie_Braki
---------------- | -------------------
2018 | 4 | 687
2018 | 5 | 307