gpt4 book ai didi

MYSQL 查询 - 交叉表?联盟?加入?选择?我应该寻找什么?

转载 作者:行者123 更新时间:2023-11-29 04:38:23 30 4
gpt4 key购买 nike

不确定我到底应该寻找什么,所以我正在寻求帮助。

我有两个表,通过查询我需要吐出一个。两张表如下:

交易:

TransactionID   SiteID  EmployeeName
520 2 Michael
521 3 Gene

交易响应:

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”的数字版本,所以我可以查询它是否更容易。

关于调用此查询的一个好的方向是我最不希望的。工作示例或什至使用此提供的示例的真正额外功劳会很棒!

最佳答案

对于预定义数量的可能 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

上述查询使用了所谓的条件聚合:CASE 表达式在聚合函数中使用,以便有条件地说明组中的记录子集.

关于MYSQL 查询 - 交叉表?联盟?加入?选择?我应该寻找什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35620600/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com