Ten problem został już omówiony wcześniej, ale żadna z odpowiedzi nie rozwiązuje mojego konkretnego problemu, ponieważ mam do czynienia z różnymi klauzulami, w których wewnętrzne i zewnętrzne wybiera. Ta kwerenda została wykonana poprawnie w Sybase, ale podaje błąd w tytule tego wpisu po uruchomieniu pod SQL Server. Zapytanie jest skomplikowana, ale ogólny zarys zapytania jest:SQL Server "nie może wykonać funkcji agregującej dla wyrażenia zawierającego agregację lub podkwerendę", ale Sybase może
select sum (t.graduates -
(select sum (t1.graduates)
from table as t1
where t1.id = t.id and t1.group_code not in ('total', 'others')))
from table as t
where t.group_code = 'total'
Poniżej opisano sytuację staram się rozwiązać:
- wszystkie kody grupowe stanowią ras z wyjątkiem „total” i ' Kod
- grupa «całkowita inni» reprezentuje całkowitą absolwentów wszystkich ras
- jednak, multi-race brakuje, więc liczy się rasa absolwenci mogą nie sumować się do całkowitej absolwenta liczy
- te brakujące dane należy obliczyć:
Czy istnieje sposób przepisania tego przy użyciu wyprowadzonych tabel lub sprzężeń w celu uzyskania tych samych wyników?
Aktualizacja: Stworzyłem sample data and 3 solutions to my specific problem (2 pod wpływem sgeddes). Dodałem, że dodałem skorelowane podkwerendy do wyprowadzonej tabeli w klauzuli FROM. Dzięki za pomoc!
Jakie są semantyka powinna być? Masz cztery '(' ale tylko dwa ')'. –
Czy możesz przeliterować swoje zadanie, podać przykładowe dane i oczekiwany wynik. Dodaj także znacznik 'sql-server' do swojego postu. –
Dodano semantykę, opis problemu, a także dane i rozwiązania na żądanie. – PillowMetal