【问题标题】:MySQL how to convert multiple value from a reference tableMySQL如何从引用表中转换多个值
【发布时间】:2018-03-22 15:04:48
【问题描述】:

MYSQL - 假设我有 2 个表

tbl_tag

+--------+--------------------+ |身份证 |价值 | +--------+--------------------+ | 8001 |软件工程师 | | 8002 | C# 开发人员 | | 8003 | PHP 开发人员 | +--------+--------------------+

详细员工

id 名称 current_pos current_id prev_pos prev_id -------------------------------------------------- -------------------------- 1001 John C# 开发人员 8002 软件工程师 8001 1002 德鲁 PHP 开发人员 8003 软件工程师 8001 1003 Marco C# 开发者 8002 PHP 开发者 8003 1004 Ashley 软件工程师 8001 C# 开发人员 8002 1005 Tomas C# 开发人员 8002 软件工程师 8001 1006 艾莉森 PHP 开发者 8003 C# 开发者 8002

我想将给定职位的 id 插入到 employee 表中,因为可以从 tbl_tag中找到职位 id > 表。我只希望将值的 id 插入数据中。

这应该是输出

员工

+--------+--------+----------------+-------------+ |编号 |姓名 | current_pos_id | prev_pos_id | +--------+--------+----------------+-------------+ | 1001 |约翰 | 8002 | 8001 | | 1002 |德鲁 | 8003 | 8001 | | 1003 |马可 | 8002 | 8003 | | 1004 |阿什利 | 8001 | 8002 | | 1005 |托马斯 | 8002 | 8001 | | 1006 |艾莉森 | 8003 | 8002 | +--------+--------+----------------+-------------+

到目前为止,这是我的代码....我不知道如何使它成为多个

插入员工(姓名,current_pos_id,prev_pos_id) 选择“迈克尔”,tag_id 作为 curr_pos,tag_id 作为 prev_pos FROM tbl_tag WHERE 值 = 'PHP 开发人员'

我想插入 michael,当前位置是 PHP 开发人员,上一个位置是 C# 开发人员。谢谢!

+--------+--------+----------------+-------------+ |编号 |姓名 | current_pos_id | prev_pos_id | +--------+--------+----------------+-------------+ | 1007 |迈克尔| 8003 | 8002 | +--------+--------+----------------+-------------+

对不起,我的帖子很长,我是 MYSQL 的初学者,对不起我的英语不是我的母语。谢谢!

【问题讨论】:

  • detailed employee 是一张实际的表格,还是只是您碰巧以表格形式向我们展示的一些信息?
  • 只是一些信息

标签: mysql


【解决方案1】:

您应该从两个表中选择 .. 这样您就可以使用例如:交叉连接与您需要的工作相关的每个表

INSERT INTO employee (name, current_pos_id ,prev_pos_id)
SELECT 'Michael', a.tag_id as curr_pos, b.tag_id as prev_pos
FROM tbl_tag a 
CROSS JOIN bl_tag a 
WHERE a.value = 'PHP Developer' 
AND b.value = 'C# Developer' 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多