SQL Заменить повторяющиеся записи пробелами

У меня есть таблица SQL, подобная этой:

SQl-таблица

и я хочу, чтобы вывод был таким:

Вывод

В основном:

  • replace duplicates with blanks but
    • if col6 value is different from the previous row for the same col1 value, all the data fields should be included.
  • значения col10 пусты.
  • col12 удален.

Я пытаюсь создать запрос. Я нашел это: ответ CTE

и попытался запустить следующее:

;WITH CTE
AS
( 
   SELECT DBA.s12.*,
     ROW_NUMBER() OVER(PARTITION BY DBA.s12.col6 ORDER BY(SELECT 1)) rownum
  FROM DBA.s12
)
SELECT
   DBA.s12.col1,
   DBA.s12.col2,
   DBA.s12.col3,
   DBA.s12.col4,
   DBA.s12.col5,
   DBA.s12.col7, 
   DBA.s12.col8,
   DBA.s12.col9,
   DBA.s12.col10,
   DBA.s12.col11,
   DBA.s12.col12,
  CASE rownum
    WHEN 1 THEN DBA.s12.col6
    ELSE ''
  END AS col6
FROM CTE
ORDER BY DBA.s12.col1;

но получаю ошибку "Could not execute statement. Syntax error or access violation"

Может ли кто-нибудь пролить свет на то, где в моем запросе есть синтаксическая ошибка/нарушение доступа или есть лучший метод для извлечения данных?


person stackErr    schedule 16.07.2013    source источник
comment
Какой продукт Sybase вы используете? АСЕ, АСА?   -  person Michael Gardner    schedule 16.07.2013
comment
@MichaelGardner Sybase Central 16.0.0.1324   -  person stackErr    schedule 16.07.2013
comment
@MichaelGardner, можете ли вы сказать мне инструмент, который мне понадобится для этого? Я могу гуглить/читать документацию для него.   -  person stackErr    schedule 18.07.2013
comment
Вы нашли решение для этого?   -  person Mohsen Sarkar    schedule 12.06.2016
comment
@Mohsen Я не помню, нашел ли я решение этой проблемы. Я не работал над этим несколько лет.   -  person stackErr    schedule 12.06.2016


Ответы (1)


Я не совсем уверен, что это сработает, но, возможно, попробуйте заменить

END AS col6

с

END AS DBA.s12.col6
person LulalaBoss    schedule 12.09.2013