2014-02-17 2 views
0

Создал sqlfiddle здесь http://sqlfiddle.com/#!2/a4bff/8 Я думаю!concat rows в 2-й таблице запроса

Я бег следующего запроса на 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 строк в одном столбце. Это приводит к 6 экземплярам тех же данных в таблице 1. Как я могу контактировать данные в таблице 2, чтобы устранить повторы?

Скриншот таблицы 2

enter image description here

+0

Привет Клубника - так, спасибо - что удивительно чистый из моего кода отлично работает - но нет concat второго стола? – user3321063

+0

Не видя надлежащих DDL, я боюсь быть честным – Strawberry

ответ

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

+0

Имеет смысл для меня, и я ценю ваш ответ. К сожалению, он каким-то образом сломал запрос (пробелы?) И вернул пустую таблицу ???? – user3321063

+0

Пробовал чистить пробелы, как пунт - но запрос не хочет работать. Боюсь. Выпустил материал GROUP_CONCAT и вернулся к рабочему запросу - с повторами! Больше нужна помощь! – user3321063

+0

GROUP BY должно быть до ORDER BY. Попробуй это сейчас. – Barmar

Смежные вопросы