【发布时间】:2012-08-04 11:13:39
【问题描述】:
options_table
options_id | object_id | option_value
=========================================
1 | 1 | drink
2 | 2 | ice
3 | 1 | bath
4 | 2 | soda
5 | 2 | drink
6 | 3 | ice
7 | 4 | bath
8 | 2 | bath
9 | 1 | storm
object_table
object_id | object_name
=============================
1 | sun
2 | moon
3 | mars
4 | jupiter
查询
SELECT object_table.object_name GROUP_CONCAT(options_table.option_value ) as object_options
FROM options_table
LEFT JOIN object_table
ON object_table.object_id = options_table.object_id
GROUP BY options_table.object_id
所以我得到类似的结果
object_name | object_options
=========================================
moon | ice, soda, drink, bath
sun | drink, bath, storm
mars | ice
jupiter | bath
假设用户想要所有具有选项“喝”和选项“洗澡”的对象。所以我只得到这个结果。
object_name | object_options
=========================================
moon | ice, soda, drink, bath
sun | drink, bath, storm
我必须如何编辑查询才能获得此结果?
【问题讨论】:
-
你能说
WHERE 'drink' in object_options AND 'bath' IN object_options吗? -
尝试在 WHERE 中访问时,“object_options”尚不存在
标签: sql group-concat