第二个查询表中的concat行

时间:2014-02-17 22:58:53

标签: mysql

我在这里创建了一个sqlfiddle http://sqlfiddle.com/#!2/a4bff/8

我正在2个表上运行以下查询(第二个内部连接到第一个):

SELECT c.name
     , c.custom_message
     , d.log_id
     , c.price
     , c.quantity
     , d.value 
  FROM wp_wpsc_cart_contents c
  JOIN wp_wpsc_submited_form_data d
    ON d.log_id = c.purchaseid 
 WHERE c.name LIKE '%$term%' 
 ORDER 
    BY c.name

第一个表包含单行所需的所有数据,但第二个表的数据分布在一列中的6行中。这导致表1中的相同数据的6个实例。 如何整合表2中的数据以消除重复?

表2的截图

enter image description here

1 个答案:

答案 0 :(得分:0)

使用GROUP_CONCAT

SELECT wp_wpsc_cart_contents.name, wp_wpsc_cart_contents.custom_message,
    wp_wpsc_submited_form_data.log_id, wp_wpsc_cart_contents.price,
    wp_wpsc_cart_contents.quantity, 
    GROUP_CONCAT(wp_wpsc_submited_form_data.value) AS value
FROM wp_wpsc_cart_contents 
INNER JOIN wp_wpsc_submited_form_data 
ON wp_wpsc_submited_form_data.log_id=wp_wpsc_cart_contents.purchaseid 
WHERE wp_wpsc_cart_contents.name LIKE '%$term%' 
GROUP BY wp_wpsc_submitted_form_data.log_id
ORDER BY wp_wpsc_cart_contents.name

DEMO