MySQL:使用同一个表创建新表两次

MySQL:使用同一个表创建新表两次,mysql,data-structures,Mysql,Data Structures,我想使用1个表创建一个新表,使用2组查询 要测试代码,请执行以下操作: 参考表: 所需表格: 它们共享相同的订单id。 类型=A,更新时间=更新日期 类型=B,更新时间=dDate 问题1: 问题2: 对于type=A,我希望在日期获取最早更新的_,而对于type=B,我希望在日期获取最新更新的_ 目前,我尝试使用union,但他们给了我2行而不是所需的表 如何连接或联合这两个查询以获得所需的表 或者,有没有更好的方法来做到这一点?谢谢 您可以尝试以下方法: SELECT order_id,

我想使用1个表创建一个新表,使用2组查询

要测试代码,请执行以下操作:

参考表:

所需表格:

它们共享相同的订单id。
类型=A,更新时间=更新日期
类型=B,更新时间=dDate

问题1: 问题2: 对于type=A,我希望在日期获取最早更新的_,而对于type=B,我希望在日期获取最新更新的_

目前,我尝试使用union,但他们给了我2行而不是所需的表

如何连接或联合这两个查询以获得所需的表


或者,有没有更好的方法来做到这一点?谢谢

您可以尝试以下方法:

SELECT order_id, min(pDate) pDate, max(dDate) dDate FROM(
    SELECT
      order_id,
      if(type='A',updated_at,null) pDate,
      if(type='B',updated_at,null) dDate
    FROM transactions
) as d
GROUP BY order_id

我收到错误1248,如果有其他订单id,我认为它不起作用?尝试将别名添加到子查询我将小提琴添加到answer@vp_arth,amaksr,谢谢你!
select t.order_id, max(t.updated_at) as dDate, weekday(max(t.updated_at)) from transactions t 
where t.type= 'B'
group by t.order_id;
SELECT order_id, min(pDate) pDate, max(dDate) dDate FROM(
    SELECT
      order_id,
      if(type='A',updated_at,null) pDate,
      if(type='B',updated_at,null) dDate
    FROM transactions
) as d
GROUP BY order_id