tsklab
@tsklab
Здесь отвечаю на вопросы.

Как создать представление для элементов из списков?

В музыкальном альбоме для исполнителей есть список инструментов (ролей), например:
Paul McCartney: lead vocals, guitar, bass, piano, hammond organ, drums, timpani, percussion, recorder, flugelhorn
Mal Evans: backing vocals (2, 6), saxophone (23)
Как создать представление уникальных элементов из списков?
  • Вопрос задан
  • 24 просмотра
Решения вопроса 1
tsklab
@tsklab Автор вопроса, куратор тега SQL Server
Здесь отвечаю на вопросы.
CREATE VIEW RoleDivided
AS
  SELECT DISTINCT TRIM( value ) AS RoleSingle
    FROM AlbumRole 
      CROSS APPLY STRING_SPLIT( dbo.RoleDelTrack( [Role] ), ',' )

Предварительно удалив примечания:
CREATE FUNCTION dbo.RoleDelTrack ( @RL VARCHAR(500) ) RETURNS VARCHAR(500)
WITH EXECUTE AS CALLER
AS
BEGIN
  WHILE (CHARINDEX( '(', @RL) > 0 ) BEGIN
    SET @RL = TRIM( LEFT( @RL, CHARINDEX( '(', @RL) - 1 ))
              + RIGHT( @RL, LEN( @RL ) - CHARINDEX( ')', @RL ))
  END
  RETURN @RL
END
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы