簡體   English   中英

從MySQL數據庫相關表輸出數據

[英]Output data from MySQL database related tables

有限的MySQL知識。 我需要將數據庫中多個表中的相關數據提取到csv /電子表格中。

三個表:

  • 顧客,
  • 命令,
  • OrderItems

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'

我無法更改字段名稱/結構。 我該如何解決?

我想要一個包含所有客戶及其相關購買歷史的電子表格。 時間或付款並不僅僅知道每個客戶購買了什么就重要。

期待一些專業提示!

假設您有3個表格:customer_table,order_table,order_items_table。 以下必須是表的基本結構:

  1. customer_table應該有一個主鍵,說是customer_id
  2. order_table有一個主鍵,例如order_id,需要有一個外鍵-> customer_id引用了customer_key
  3. order_items_table有一個主鍵(例如item_id)和一個外鍵-> order_id(引用order_table)。

具有這種結構后,您可以參考Mohit發布的鏈接。

執行聯接查詢,該聯接查詢將指定所需的字段並指示將保存您的數據的輸出文件,例如:

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”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM