2016-01-21 4 views
-1

У меня есть следующий SQL-запрос, который хорошо работает. Есть ли способ, которым я мог бы так же SELECT * FROM PRODUCTS с этим вопросом? Я борюсь с синтаксисом.mySQL SELECT * и группа concat

SELECT GROUP_CONCAT(tc.`name` ORDER BY tc.entity_id) AS cat_ids 
FROM products AS tp 
JOIN categories AS tc 
ON FIND_IN_SET(tc.entity_id, tp.category_ids) 
GROUP BY tp.category_ids; 

ответ

1

Вы дали таблицу products псевдоним "tp". Вы можете получить доступ к столбцы из таблицы, используя productstp.columnName, или все столбцы с помощью tp.*

SELECT tp.* 
FROM products AS tp 
JOIN categories AS tc 
ON FIND_IN_SET(tc.entity_id, tp.category_ids) 
GROUP BY tp.category_ids; 
+0

Где находится "GROUP_CONCAT"? – Barmar

+0

@Barmar Если Лиам просит «продукты. *», То он не просит сделать «GROUP CONCAT». Он специально пытается получить всю информацию из одной таблицы, а не другой. – faraday703

+0

Он говорит, что хочет получить всю информацию из таблицы 'products' ** в дополнение к ** информации о категории, которую он уже получает. – Barmar

2

это то, что вы пытаетесь сделать?

SELECT tp.*, GROUP_CONCAT(tc.`name` ORDER BY tc.entity_id) AS cat_ids 
FROM products AS tp 
JOIN categories AS tc 
ON FIND_IN_SET(tc.entity_id, tp.category_ids) 
GROUP BY tp.category_ids;