SQL Fiddle
Настройка на схема на MS SQL Server 2017 :
създайте таблица MyTable(Име varchar(max),BStatus varchar(max),Bank varchar(max))вмъкнете в MyTable (Име,BStatus,Bank)values('Thung','Active', 'ABC) Bank')вмъкнете в MyTable (име,BStatus,Bank)стойности('Thung','Hold', 'ABC Bank')
Запитване 1 :
с CTE AS (изберете *,(CASE WHEN BStatus='Active' THEN BStatus END) AS Status1,(CASE WHEN BStatus ='Hold' THEN Bstatus END) AS Status2,(CASE WHEN Bank='ABC Bank' THEN Bank END) AS Bank1,(CASE WHEN Bank='ABC Bank' THEN Bank END) AS Bank2,ROW_NUMBER() НАД (РАЗДЕЛЕНИЕ ПО BStatus,Ban Order By Name) като rnот MyTablegroup по име,BStatus,Bank )изберете c.Име,max(c.Status1) AS Status1,max(c.Status2) AS Status2,max(c.Bank1) AS Bank1,max(c.Bank2) AS Bank2от cte c, където rn=1група по c.Name,c .Банка
Резултати :
<предварителен код>| Име | Състояние1 | Състояние2 | Банка1 | Bank2 ||-------|---------|--------------|-------- --|| Thung | Активен | Задръжте | ABC Bank | ABC Bank |