Mysql 如何指定表联接返回的字段

Mysql 如何指定表联接返回的字段,mysql,Mysql,经过大量的帮助,终于使这项工作开始了 我现在不知道如何只返回结果ie中的名字和姓氏字段:第二个表中的form_id的2和3 这可能吗?你想这样吗 SELECT c.name , c.custom_message , d.log_id , c.price , c.quantity , GROUP_CONCAT(case when d.form_id=2 then d.value end) AS first_name , GROUP_CONCAT(case when

经过大量的帮助,终于使这项工作开始了

我现在不知道如何只返回结果ie中的名字和姓氏字段:第二个表中的form_id的2和3

这可能吗?

你想这样吗

 SELECT c.name , c.custom_message , d.log_id , c.price , c.quantity , 
       GROUP_CONCAT(case when d.form_id=2 then d.value end) AS first_name , 
       GROUP_CONCAT(case when d.form_id=3 then d.value end) AS last_name 
 FROM wp_wpsc_cart_contents c 
 JOIN wp_wpsc_submited_form_data d ON d.log_id = c.purchaseid 
 WHERE c.name LIKE '%%' 
GROUP BY d.log_id 
ORDER BY c.name

您可以使用
大小写
表达式筛选特定表单字段。据SQL语法所知,您可以为每个
表单id
获得多个结果,因此您必须对它们进行聚合:

 , GROUP_CONCAT(case when d.form_id=2 then d.value end) AS first_name
 , GROUP_CONCAT(case when d.form_id=3 then d.value end) AS last_name

回答有点晚,但如果你像下面这样尝试呢

SELECT c.name
     , c.custom_message
     , d.log_id
     , c.price
     , c.quantity
     ,(select GROUP_CONCAT(value)
from wp_wpsc_submited_form_data
where value like '%name%' and log_id = d.log_id)
AS VALUE
  FROM wp_wpsc_cart_contents c
  JOIN wp_wpsc_submited_form_data d
    ON d.log_id = c.purchaseid
 WHERE c.name LIKE '%%'
 GROUP BY d.log_id 
 ORDER BY c.name

你可以使用你提供的小提琴

嗯。。不是真的。我想要的是。。事实上。。但只返回每个log_id的名字和姓氏,而不返回电子邮件地址和电话号码,即:拉入表单id 2和3,但不返回9和18,因此我在结果中查找相同的关联字段,但只返回这两个字段。这样做的目的是在结果中隐藏个人信息,如电子邮件和电话号码,而结果就在那里,但是正如你所说,每个for_id有多个结果。所以,很抱歉不得不问,但是我如何聚合它们呢?对不起-我想我把语法搞砸了,所以一切都有点混乱。你能帮我记下完整的问题吗?我们现在看的是哪把小提琴?是我,我会从这里开始。。。三个有效答案!!太多的帮助了!谢谢各位。我现在正在尝试如何将Q标记为已解决…在投票向上/向下箭头下方,将有一个类似的记号标记按钮,单击该按钮接受答案。还有,别忘了投票支持答案:)干杯——尽管我不能投票支持答案——声誉不够高。别担心,欢迎你。