解释主要标题有点复杂,但情况如下: - 我有2张桌子: 用户,偏好。
定义如下
用户:
ID | NAME | FK_NODE_PREFERENCES
偏好设置:
ID | FK_USERS | PREFERENCE_DESCRIPTION
这个想法是为每个用户提供很多偏好......
结果如下:
USER | ALL_PREFERENCES
答案 0 :(得分:1)
我不熟悉Firebird,但它似乎有一个LIST()函数,它应该等同于MySQL中的GROUP_CONCAT()函数。 (http://www.firebirdsql.org/refdocs/langrefupd21-aggrfunc-list.html)
所以,基本上查询看起来应该是这样的:
SELECT Users.name, LIST(Preferences.preference_description, ' ') AS ALL_PREFERENCES FROM Users JOIN NodePreferences ON Users.fk_node_preferences = Preferences.id WHERE Preferences.preference_description LIKE '%abc%' GROUP BY Users.name
所以...不确定这是否真的有效,但方向应该是正确的...... 希望有所帮助!