Mysql 根据条件从表中获取列

Mysql 根据条件从表中获取列,mysql,Mysql,我正在使用存储过程。我将一些输入参数传递给存储过程,如p_type。基于这个条件,我需要得到1列或3列作为输出 像 如果p_type是1,那么我需要所有3列,否则只需要orderid列。我还需要别名。两个MySQL解决方案: 使用CASE或IF语句编写包含所有可能的SELECT查询的big switch 构造结果SELECT语句,然后使用MySQL准备的语句执行它 select a_orderid AS OrderId, t_logisticpartner.a_n

我正在使用存储过程。我将一些输入参数传递给存储过程,如p_type。基于这个条件,我需要得到1列或3列作为输出

如果p_type是1,那么我需要所有3列,否则只需要orderid列。我还需要别名。

两个MySQL解决方案:

  • 使用CASE或IF语句编写包含所有可能的SELECT查询的big switch
  • 构造结果SELECT语句,然后使用MySQL准备的语句执行它
  • select
    a_orderid                 AS OrderId,
    t_logisticpartner.a_name  AS Logistics,
    t_shipment.a_shipmentid   AS ShipmentId
    from order some join comitions;