2016-01-21 53 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”。您可以通过使用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如果Liam要求'products。*',那么他不会要求做'GROUP CONCAT'他特别试图从一个表中获取所有信息,而不是另一个。 – faraday703

+0

他说他想从“产品”表中获取所有信息,**除了他已经获得的类别信息外。 – Barmar

2

这就是你正在尝试做访问使用tp.columnName所有列从products表列,还是?

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;