Mam kwerendy CTE filtrowania Student stołowegoMultiple Wybierz przeciwko jednemu CTE
Student
(
StudentId PK,
FirstName ,
LastName,
GenderId,
ExperienceId,
NationalityId,
CityId
)
oparty na filtrach partii (kilka miast, płci, wiele doświadczeń (1, 2, 3), wiele narodowości), I utworzyć CTE za pomocą dynamicznego SQL i łączenia tabeli Student z zdefiniowane przez użytkownika tabelach a (CityTable, NationalityTable,...
)
potem muszę pobrać liczby studenta przez każdego filtra jak
CityId City Count
NationalityId Nationality Count
To samo dotyczy drugiego filtra.
Czy mogę zrobić coś
;With CTE(
Select
FROM Student
Inner JOIN ...
INNER JOIN ....)
SELECT CityId,City,Count(studentId)
FROm CTE
GROUP BY CityId,City
SELECT GenderId,Gender,Count
FROM CTE
GROUP BY GenderId,Gender
Chcę coś podobnego co LinkedIn robi z wyszukiwania (wyszukiwanie osób, poszukiwanie pracy)
To tak szybko i tak samo rzecz.
NIE. CTE jest ważny tylko ** dla następnego (pojedynczego) wyciągu **. Jeśli chcesz "zachować" dane, musisz umieścić je w pliku np. tabela zmiennych lub temp.. –
To właśnie robię. Pb jest to, że filtruję tabelę tak, aby wyświetlała się tylko na końcu tylko 20 wierszy w datagrid (u góry 21) + grupa by.it jest powolna z wieloma złączeniami. –