【发布时间】:2018-08-13 08:03:30
【问题描述】:
我的 MySQL 数据库中有 2 个自定义表(数据库名称:test)。
我的表格数据如下:
表:sku
entity_id sku 1 24-MB01 2 24-MB03 3 24-UB02 4 24-UB01表格:猫
id entity_id 类别 1 1 3 2 2 3 3 1 5 4 2 7 5 4 4 6 3 50 7 3 20 8 3 21 9 4 3我正在使用以下查询来获取关于 sku 值的逗号分隔类别:
SELECT sku.entity_id, sku.sku, GROUP_CONCAT(cat.category SEPARATOR ",") as category
FROM sku, cat
WHERE cat.entity_id = sku.entity_id
GROUP by sku.entity_id
以下是使用上述查询找到的结果集:
entity_id sku 类别 1 24-MB01 3,5 2 24-MB03 7,3 3 24-UB02 21,50,20 4 24-UB01 4,3现在,我想使用此结果集来查找特定类别的记录(例如类别 ID 为 3)。当我在查询中使用 FIND_IN_SET 时,结果的类别列中只得到 3 个。我想得到它:
entity_id sku 类别 1 24-MB01 3,5 2 24-MB03 7,3 4 24-UB01 4,3我怎样才能达到预期的效果?
【问题讨论】:
-
编辑您的问题并使用 FIND_IN_SET 添加第二个查询以及该查询的结果。还要添加带有一些示例数据的表的架构,以便我可以设置 SQL Fiddle。