将SQL表与关系

时间:2018-06-18 08:52:22

标签: mysql sql csv export

我需要将所有产品从在线商店导出为CSV,然后将其导入其他系统。

产品分为多个表,彼此之间有关系。

我尝试通过phpMyAdmin界面导出它,但它不会导出完整的关系数据。我发现了SQL JOINUNION,但不知道如何执行它们。

我的一个想法是创建一个新的temp_table并将所有必要的表格导入其中但我不知道如何。

表格示例

表格:产品

| product_id | product_weight | 
|------------|----------------|
|      1     |       1.4      |
|      2     |       2.3      |

table:product_details

| product_id | product_name | 
|------------|--------------|
|      1     |     Wine     |
|      2     |     Beer     |

表:product_prices

| product_id | product_price | 
|------------|---------------|
|      1     |     18.22     |
|      2     |     3.20      |

导出应该是那些

的组合
| product_id | product_weight | product_name | product_price | 
|------------|----------------|--------------|---------------|
|      1     |      18.22     |     Wine     |     18.22     |
|      2     |      3.20      |     Beer     |     3.20      |

2 个答案:

答案 0 :(得分:2)

试试这个:

SELECT
  p.product_weight,
  pd.product_name,
  pp.product_price
FROM
  products AS p
INNER JOIN
  product_details AS pd
ON
  pd.product_id = p.product_id
INNER JOIN
  product_prices AS pp
ON
  pp.product_id = p.product_id

答案 1 :(得分:1)

您需要SELECT product_weight ,product_name ,product_price FROM products pr INNER JOIN product_prices prp ON pr.product_id - prp.product_id INNER JOIN product_details prd ON pr.product_id = prd.product_id 。试试:

SELECT product_weight
        ,product_name
        ,product_price
INTO myNewTable
 FROM products pr
    INNER JOIN product_prices prp ON pr.product_id - prp.product_id
    INNER JOIN product_details prd ON pr.product_id = prd.product_id

如果要创建新表,请尝试:

{{1}}