不确定我应该寻找到底是什么,所以我正在寻求帮助。
我有两个表,通过查询我需要吐出一个。这两个表如下:
交易:
TransactionID SiteID EmployeeName
520 2 Michael
521 3 Gene
TransactionResponse:
TransactionID PromptMessage Response PromptID
520 Enter Odometer 4500 14
520 Enter Vehicle ID 345 13
521 Enter Odometer 5427 14
521 Enter Vehicle ID 346 13
但我需要的是以下内容,我们称之为TransactionSummary:
TransactionID SiteID EmployeeName 'Odometer' 'VehicleID'
520 2 Michael 4500 345
521 3 Gene 5427 346
“PromptID”列是“PromptMessage”的数字版本,所以我可以查询它是否更容易。
调用此查询的一个好方向是我最不希望的。对于工作示例或甚至使用此提供的示例,真正的额外功劳将是非常棒的!
答案 0 :(得分:4)
对于预定义数量的可能d3.csv
值,您可以使用以下查询:
PromptID
上述查询使用所谓的条件聚合:在聚合函数中使用SELECT t.TransactionID, t.SiteID, t.EmployeeName,
MAX(CASE WHEN PromptID = 13 THEN Response END) AS 'VehicleID',
MAX(CASE WHEN PromptID = 14 THEN Response END) AS 'Odometer'
FROM Transactions AS t
LEFT JOIN TransactionResponse AS tr
ON t.TransactionID = tr.TransactionID AND t.SiteID = tr.SiteID
GROUP BY t.TransactionID, t.SiteID, t.EmployeeName
表达式,以便有条件地考虑组内记录的子集。