我有两个表,第一个表是PRODUCTS
,字段是NAME, BUY, SELL, CATEGORY
,第二个表是CATEGORIES
字段 NAME
和 ID
。
在第一个表CATEGORY
中,是引用类别名称的ID
字段
我正在尝试将产品表导出为 CSV,但将表中的 CATEGORY
替换为第二个表中人类可读的 NAME 列。我正在使用 MYSQL Workbench、phpmyadmin 或命令行。
最佳答案
您需要使用 INNER JOIN
以便获取类别名称而不是 id。
像这样的事情没有经过测试:
SELECT PRODUCTS.NAME, PRODUCTS.BUY, PRODUCTS.SELL, CATEGORIES.NAME AS CATEGORY
FROM PRODUCTS INNER JOIN CATEGORIES ON PRODUCTS.CATEGORY = CATEGORIES.ID;
这将显示每个产品的类别名称,而不是类别 ID。
示例:
产品表
+----+-------+-----+------+----------+
| Id | Name | Buy | Sell | Category |
+----+-------+-----+------+----------+
| 1 | Prod1 | 100 | 200 | 1 |
| 2 | Prod2 | 100 | 200 | 2 |
+----+-------+-----+------+----------+
类别表
+----+----------+
| Id | Name |
+----+----------+
| 1 | Hardware |
| 2 | Software |
+----+----------+
内连接后
+----+-------+-----+------+----------+
| Id | Name | Buy | Sell | Category |
+----+-------+-----+------+----------+
| 1 | Prod1 | 100 | 200 | Hardware |
| 2 | Prod2 | 100 | 200 | Software |
+----+-------+-----+------+----------+
关于来自第二个表的 MySQL CSV 导出 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48490089/