gpt4 book ai didi

mysql - SQL (JOIN) - 从一列到两列的两个结果

转载 作者:行者123 更新时间:2023-11-28 23:22:51 29 4
gpt4 key购买 nike

SELECT a.cp_node_id,
a.cmi_node_id,
a.user_id,
a.learner_name,
a.completion_status,
a.success_status,
b.id title,
c.dep,
d.field_id,
d.value
FROM cmi_node a
JOIN cmi_objective b
ON a.cmi_node_id=b.cmi_node_id
AND a.completion_status = 'completed'
AND a.success_status = 'passed'
AND a.cp_node_id = '1'
JOIN usr_data c
ON a.user_id = c.usr_id
JOIN udf_text d
ON a.user_id = d.usr_id
GROUP BY a.cmi_node_id

在我的“D”表中有一列,有两个结果,例如:

ID: field_id:  value:
1 1 test
1 2 text2
2 1 test
2 2 text3
3 1 test2
3 2 text6
etc...

在 field_in 中总是 1 或 2。

我需要打印“cmi_node”中的所有用户,例如:

user_id  learner_name
1 George
2 Michel
3 James

我想从“D”表中添加两列:示例:

user_id  learner_name  field_in_first field_in_second value_first value_second
1 George 1 2 test text2
2 Michel 1 2 test text3
3 James 1 2 test2 text6

谢谢

最佳答案

只需加入同一张 table 两次。

JOIN udf_text d1 ON a.user_id = d.usr_id AND field_id = 1
JOIN udf_text d2 ON a.user_id = d.usr_id AND field_id = 2

然后就可以访问d1.field_id、d2.field_id、d1.value和d2.value

关于mysql - SQL (JOIN) - 从一列到两列的两个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40782917/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com