我有以下SQL語句。它連接三個表:Person
,Deliverable
和DeliverableActions
SQL Server查詢彙總數據
select
p.first_name, p. last_name, d.title, da.type
from
Deliverable d
right join
Person p on d.person_responsible_id = p.id
right join
DeliverableAction da on da.DeliverableID = d.id
where
d.date_deadline >= @startDate and
d.date_deadline <= @endDate
order by
d.title
結果如下:
first_name | last_name | title | type
-----------+-------------+--------------+------
Joe | Kewl | My_Report_1 | 2
Joe | Kewl | My_Report_1 | 3
Joe | Kewl | My_Report_1 | 1
Sly | Foxx | Other_Rep_1 | 1
Sly | Foxx | Other_Rep_1 | 2
我的目標結果是如下表得到:
first_name | last_name | title | type_1 | type_2 | type_3 | type_4
-----------+------------+--------------+--------+--------+--------+---------
Joe | Kewl | My_report_1 | 1 | 1 | 1 | 0
Sly | Foxx | Other_Rep_1 | 1 | 1 | 0 | 0
不幸的是我不知道用什麼術語來描述我在做什麼。我搜索了「分組」和「聚合」,但我沒有答案,所以我把它放到了社區中。預先感謝您的幫助。
我得到'不正確的語法附近「=」。「 –
在** da.type ...時添加了'case **',它的工作原理是 –
@ user1571934,您是對的.. – radar