2012-01-24 70 views
-2

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

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

+0

困惑,这是为什么全部在两张桌子里。是不是“信息”和“细节”同义词?你可以将它们组合起来吗?还要为每个条目添加一列来混淆你的意思?在HTML中?细节表的设置是什么? – bowlerae

+0

这可能吗?几乎肯定,是的。怎么样?你告诉我们 - 如果不知道数据库中的列和你想要返回的内容,我们就无法给你一个查询。问一个更精确的问题,我相信人们会很乐意帮助你。 – Hecksa

+0

我正在做什么@gahooa建议如下。如果有人知道更好的方法,我会非常感激。 – nathangiesbrecht

回答

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 
+0

这就是我正在做的,但我希望有一些“更漂亮”。但如果这是不可能的,我想这是不可能的。谢谢! – nathangiesbrecht