MySQL将两行放入列中

时间:2012-01-24 19:59:30

标签: mysql

我有两张桌子。一个具有订单ID的订单信息,另一个表具有订单详细信息。 order_details每个order_id都有多行。我想要一个查询来提取订单信息,然后为order_details表上的每个条目添加一个“列”。

这可能吗?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:1)

在MySQL或我所知道的任何SQL中,使用带有过多连接或子查询的高度硬编码查询的异常,这是不可能的。

此类问题通常会降级到编程语言领域。如果你有一个临时需要查询来做到这一点,那么这样的事情就会这样做(你必须引用关键字order

SQL示例:

SELECT 
  order_id, 
  date, 
  (select amt from order_detail where order_id=order.order_id and detail_line=1),
  (select amt from order_detail where order_id=order.order_id and detail_line=2),
  (select amt from order_detail where order_id=order.order_id and detail_line=3),
  (select amt from order_detail where order_id=order.order_id and detail_line=4),
FROM 
  order
WHERE 
  order_id = 1234