Noman Suleman Ответов: 1

Как объединить одни и те же столбцы с разными значениями в предложении group by в SQL 2008R2


привет ,
Как объединить одни и те же столбцы с разными значениями в предложении group by в sql 2008R2?

Я хочу выбрать количество регистраций владельцев магазинов и их лимит на сумму против дилера, любезно направьте меня.

Что я уже пробовал:

select COUNT( ShopkeeperID)TotalReg,ShopkeeperID,DealerID  from InsuranceMaster
where ShopkeeperID=4
group by ShopkeeperID,DealerID

его показательный результат
TotalReg	ShopkeeperID	DealerID	AmountLimit
1	             4	           21	            1
1	             4	           21	            6

Мой желаемый результат
TotalReg	ShopkeeperID	DealerID      AmountLimit
   2                4	          21            1,6

Mehdi Gholam

Почему?

Noman Suleman

его требование пользователя

1 Ответов

Рейтинг:
12

$*Developer - Vaibhav*$

Create TABLE #x( ShopkeeperID INT, DealerID INT, amtlimit int);

INSERT #X(ShopkeeperID, DealerID, amtlimit) VALUES
(1,1,20), (1,1,30), (2,1,20),  (2,2,20),
(2,2,20), (3,1,20), (3,1,20),  (3,2,60),
(3,2,60);

############################################


 SELECT COUNT(t.ShopkeeperID) as tcount, t.ShopkeeperID, t.DealerID
       ,STUFF((SELECT ', ' + CAST(t1.amtlimit AS VARCHAR(10)) [text()]
         FROM #x t1
         WHERE t1.DealerID = t.DealerID  and t1.ShopkeeperID = 3 
FOR XML PATH(''), TYPE)
        .value('.','NVARCHAR(MAX)'),1,2,' ') List_Output
FROM #x t
where t.ShopkeeperID = 3
GROUP BY t.ShopkeeperID, t.DealerID


$*Developer - Vaibhav*$

вон поставь вот так

tcount ShopkeeperID DealerID List_Output
2 3 1 20, 20
2 3 2 60, 60

Noman Suleman

Благодаря своей совершенной :)

Noman Suleman

привет, когда я пытаюсь получить столбец из другой таблицы с внутренним соединением, он не получает желаемого результата, пожалуйста, направьте и проверьте мой запрос

Выберите граф( Т. ShopkeeperID) как tcount,Т.DealerID, Т.ShopkeeperID
Вещи((выбора ', ' + литые(Config_LimitInsurance.Имя как VARCHAR(10)) [текст()]
Из InsuranceMaster Т1
Где T1.ShopkeeperID = Т.ShopkeeperID и T1.DealerID = 21
ДЛЯ XML PATH (") ВВЕДИТЕ)
.значение('.','Тип nvarchar(макс)'),1,2,' ') List_Output
От InsuranceMaster t INNER JOIN

Config_LimitInsurance ON t. AmountLimit = Config_LimitInsurance.ID
Где (t. DealerID = 21)
Группы по T.DealerID, Т.ShopkeeperID, Config_LimitInsurance.Название


результат таков

tcount DealerID ShopkeeperID List_Output
2 21 4 50к, 50к
1 21 10 50к
1 21 11854 50к

$*Developer - Vaibhav*$

пожалуйста, поделитесь как структурой таблицы, так и стоимостью?

Noman Suleman

спасибо. я сделал это с помощью вызова запроса в представлениях теперь его работа отлично показывает результат моего желания с помощью вашего запроса еще раз спасибо