有限的MySQL知识。我需要从数据库中的多个表中提取相关数据到csv /电子表格。
三张桌子:
OrderItem通过unqiue ID与订单相关。每个订单都可以有一个或多个OrderItems。
订单通过唯一ID与客户相关。每个客户可以再增加一个订单。
我已根据以下建议尝试此查询 - 谢谢:
SELECT * FROM user u
JOIN order o
ON u.id = o.userid
JOIN orderarticles a
ON o.id = a.orderid;
然而,收到错误:
Duplicate column name 'OXID'
我无法更改字段名称/结构。我该如何解决这个问题?
我想要一个包含所有客户的电子表格及其相关的购买历史记录。时间或付款并不像简单地知道每个客户购买的东西那么重要。
期待一些专业提示!
答案 0 :(得分:0)
假设您有3个表:customer_table,order_table,order_items_table。 以下必须是您表格的基本结构:
拥有这种结构后,您可以参考Mohit发布的链接。
答案 1 :(得分:0)
执行将指定所需字段的连接查询,并指明将保存数据的输出文件 - 例如:
SELECT [Fields] FROM `customers` `c`
JOIN `orders` `o`
ON `c`.`customer_id`=`o`.`customer_id`
JOIN `order_items` `oi`
ON `o`.`order_id`=`oi`.`order_id`
INTO OUTFILE "C:\tmp\file.csv"
FIELDS ENCLOSED BY '"'
TERMINATED BY ','
ESCAPED BY '"'
LINES TERMINATED BY '\r\n';
然后导航到" C:\ tmp" 并使用excel打开" file.csv"