Sql数据库查询设计用于建立优先级

2 sql database join

我正面临着尝试编写查询的问题.

我的表格如下:

tblTicketIssues
TicketID | RequesterID

tblPersonnelProfile
PersonnelID | FirstName | LastName

tblTicketAttribute
TicketID | Attribute | AttributeValue
Run Code Online (Sandbox Code Playgroud)

我必须显示以下字段:

TicketID, 
RequesterFullName, 
UrgentPriorityID, 
MediumPriorityID, 
LowPrioritytID
Run Code Online (Sandbox Code Playgroud)

这是具有挑战性的部分:

如果tblTicketAttribute.Attribute ="Urgent",那么来自tblTicketAttribute.AttributeValue的值将显示在UrgentPriority列中

如果tblTicketAttribute.Attribute ="Medium",那么来自tblTicketAttribute.AttributeValue的值将显示在MediumPriority列中

如果tblTicketAttribute.Attribute ="Low",那么来自tblTicketAttribute.AttributeValue的值将显示在LowPriority列中

tblTicketAttribute.Attribute包括" 紧急 "," "," "," 超过30 "," 超过60 "," 超过90 "," 已关闭 "

我怎样才能做到这一点?

jas*_*ldo 5

查看CASE声明.

select
 ticketID
 ,Lastname +', '+firstname
 ,CASE attribute 
      WHEN 'Urgent' THEN attributeValue 
      ELSE '' 
 END as UrgentPriorityID
 ,CASE attribute 
      WHEN 'Medium' THEN attributeValue 
      ELSE '' 
 END as MediumPriorityID
 ,CASE attribute 
      WHEN 'Low' THEN attributeValue 
      ELSE '' 
 END as LowPrioritytID

from
 ...
Run Code Online (Sandbox Code Playgroud)