У меня есть сценарий, в котором я работаю над SQL Server Reporting Services
для создания табуляционного отчета и застревает в точке, где я получаю повторяющиеся значения для одного столбца. Ниже приведен пример вывода из кода:Обработка нулевых значений и дубликатов записей в SQL Server
AppID EmpID EmpName
2002912 81555 NULL
2002912 81588 Jenn - 81588
2026880 9328 NULL
2026880 9628 Brad - 09628
2027065 92174 Julie - 92174
2027065 92714 NULL
2028989 72138 NULL
2028989 91366 Alan - 91366
2029233 17438 NULL
2029233 53712 Brad - 53712
2031585 37902 NULL
2031588 17723 Richard - 17723
2031591 54551 Paula - 54551
2031593 52240 Sarah - 52240
2031597 72778 Daisy - 72778
2031603 12659 NULL
Обратите внимание на первый coulmn (AppID
) имеет несколько дубликатов и соответствующий столбец EmpName
либо Null
или имеет какое-то значение. Я хочу устранить все дубликаты AppID's
, где EmpName
- null
.
Это могло быть прямо, если не было нулевых значений для уникальных AppID
(см. Последнюю строку), также я не могу жестко кодировать, поскольку имею дело с большим количеством данных.
Также обратите внимание, что все эти три столбца поступают из разных таблиц и были LEFT JOIN
- AppID
стол. Пожалуйста, дайте мне знать, если вам нужно увидеть код, я не вставлял его здесь, так как он немного сложный и, возможно, не требуется.
Любой вид помощи и внушения appreciated.Thank вы
Используйте 'ROW_NUMBER OVER (раздел по APPID ORDER BY EmpName NULLS FIRST)' и выберите строку 2.I'm не уверен в синтаксисе, но это общая идея.OR использовать 'ORDER BY (CASE КОГДА EmpNAme NULL THEN 0 ELSE 1 END)', если NULLS FIRST недоступно. – Mihai
Я не хочу исключать значения «нуль», где «AppID» уникален. Таким образом, в этом случае, как это будет отличаться между повторяющимися «AppID» и «Уникальными» AppID'ами? –