我有两张桌子。一个具有订单ID的订单信息,另一个表具有订单详细信息。 order_details每个order_id都有多行。我想要一个查询来提取订单信息,然后为order_details表上的每个条目添加一个“列”。
这可能吗?如果是这样,怎么样?
答案 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