я следующая таблица в моей базе данных SQL Server:Оптимизированный запрос для базы данных SQL Server
| ID | Class | CId | PId
| 7865 | Add Class for Prop | 1043 | 1
| 82 | Advanced Carpet Spotting Advanced Carpet Spotting | 1043 | 1
| 82 | Advanced Carpet Spotting Advanced Carpet Spotting | 1042 | 1
| 7863 | aTesting | 1042 | 0
| 7218 | aUnique | 1042 | 0
| 85 | Body Mechanics | 1042 | 1
| 88 | Carpet Bonnet Cleaning | 1044 | 0
| 89 | Carpet Shampooing/Extraction | 1044 | 1
| 7829 | Class 10 | 1044 | 0
У меня есть несколько CId
и PId
Если отчетливый CId
имеют соответствующие им PId = 1
Затем
Set CId = 1 Otherwise 0
Я хочу выход как этот
| CId | Status | Count
| 1042 | 0 | 4
| 1043 | 1 | 2
| 1044 | 0 | 3
Я могу получить требуемый результат, используя несколько запросов, но я хочу более оптимизированный.
Пожалуйста, предложите решение. Спасибо.
Пожалуйста, проверьте ваш вопрос: (1) Вы сбрасываете значение 'CId' (не уверен, что это было ваше намерение), (2) Откуда« Статус »? Также представьте свое текущее решение и объясните, в чем проблема с ним. – FDavidov