У меня 2 таблицы: Contents
и Packs
SQL Server рассчитывать определенное значение поля
В Content
столбцов так:
Id Name IsPerishable IsSpecial IsDanger
----------------------------------------------------------
1 Paper False False False
3 Fruit True False False
5 NewsPaper False True False
6 Radioactive False False True
7 Foods True False False
В Packs
столбцов так:
Id From To ContentId
---------------------------------------
1 ABZ ATL 3
2 ANU ATL 5
3 BAQ ATL 7
4 BTS BAQ 6
5 FRL BAQ 5
Теперь я хочу получить результат, который группирует каждое «Кому», затем показывает отдельное значение IsPerishable/IsSpecial/IsDanger
так:
To Perishable Special Danger
-----------------------------------------------
ATL 2 1 0
BAQ 0 1 1
Я пытаюсь использовать некоторые запрос, но ни один из них не работал правильно:
select Name,
case
when IsSpecial = 1 then count(IsSpecial)
when IsPerishable = 1 then count(IsPerishable)
when IsDanger = 1 then count(IsDanger)
end as 'Content'
from Contents
group by IsSpecial , IsPerishable , IsDanger
select To,count(DISTINCt Id) as 'Count'
FROM Packs
GROUP BY To
Это делается с использованием только 1 внутренний запрос и использует встроенные скалярные функции SQL во внешнем запросе – DhruvJoshi
Эта работа тоже. – BaHaR