можно подсчитать, сколько пользователей имеют определенную опцию из базы данных SQL - PullRequest
0 голосов
/ 04 мая 2019

У меня есть база данных с параметрами с отношением 1 ко многим, например

Company,username,Option,QTY

CompanyA,john,Option1,3
CompanyA,john,Option2,3
CompanyA,frank,Option2,3

CompanyB,jim,Option2,2
CompanyB,jim,Option3,2

Я пытаюсь получить счет

Так что это должно дать такой результат

Company A - 6 Option1 and Option 2
Company A - 3 Options2


Company B - 2 Options2
Company B -2 Options 3

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

Ответы [ 2 ]

0 голосов
/ 04 мая 2019

Вы всегда можете сделать это вручную:

int count = 0;
foreach(Company c in Companies) // Companies = the data you "withdraw" from the database
    if (Company.Option == OptionWanted)
        sum++;

Правильно ли я понял ваш вопрос?

0 голосов
/ 04 мая 2019

Я полагаю, вы более или менее ищете поворотный подход

SELECT 
   table.Company
 , SUM(CASE WHEN table.Option = 'option1' THEN table.QTY ELSE 0 END) AS Option1
 , SUM(CASE WHEN table.Option = 'option2' THEN table.QTY ELSE 0 END) AS Option2
FROM 
 table 
GROUP BY 
 table.Company
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...