Witam,
pomóżcie mi to zrozumieć bo ja nie wiem czy ja już jestem głupi czy jakiegoś udaru dostałem. Problem jest kosmiczny w swojej banalności.
Robię 3 zapytanie na tej samej tablicy z 2 warunkami takimi samymi w każdym zapytaniu oraz warunkiem który wybiera tylko daną ReportingID = 820, w 2 zapytaniu wyklucza tą grupę <> 820 i w 3 zapytaniu pomijam ten warunek. W każdym zapytaniu sumuje tylko 1 kolumnę Sales ... i teraz jak to możliwe, że wynik 1 i 2 zapytania nie daje mi wartości z 3 zapytnia.
Poniżej przykładowy kod który lepiej wyjaśni sprawę:
SELECT SUM(Sales) TotalSum
FROM [sgo].[SalesData]
WHERE [Year] = 2018 and ReportingID = '123' and DataSource in ('Sales','NotInvoiced')
SELECT SUM(Sales) TotalSum
FROM [sgo].[SalesData]
WHERE [Year] = 2018 and ReportingID <> '123' and DataSource in ('Sales','NotInvoiced')
SELECT SUM(Sales) TotalSum
FROM [sgo].[SalesData]
WHERE [Year] = 2018 and DataSource in ('Sales','NotInvoiced')
Z moich wyliczeń wynika, że źle liczy 2 zapytanie z warunkiem ReportingID <> '123' . Kolumna ReportingID jest typu NCHAR(3).
O co tu chodzi ? Nigdy wcześniej nie spotkałem się z takim problemem :|
Z góry dzięki za pomysły / podpowiedzi.
Pozdrawiam,
BB
Edit: @Panczo - widzę, że siedzisz na forum to pozwolę sobie Ciebie oznaczyć ... pewnie dla Ciebie to będzie banalna sprawa.