我试图记住针对此类问题的 SQL 解决方案是什么。假设我有下表:
tagged_nodes
:
nid
- 节点 ID。外键。tid
- 标签 ID。外键。tnid
- 主键(与当前问题无关)。
节点
:
nid
- 节点 ID。主键。- ... - 其他列不相关。
假设我有一组标签 ID (tid
),我想返回一组关联节点(交集)。我该怎么做?
最佳答案
SELECT nodes.* FROM nodes /* Load node info */
JOIN tagged_nodes ON tagged_nodes.nid = nodes.nid /* Match node-tag rows with node rows */
WHERE tagged_nodes.tid IN (1, 2, 3) /* Filter using tag relationship */
关于mysql - 集合的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8108295/