大家好,一起讨论个sql查询问题?
表结构:
-------------------------------------
id integer 主键
msg varchar(100) 内容
parent_id integer 父节点id
level integer 级别
-------------------------------------
数据:
父节点1
子节点1
子节点2
父节点2
子节点1
子节点3
父节点3
子节点5
子节点6
需求:查找拥有相同子节点数据的交集。例如:查找节点id为1,2(即:“父节点1”、“父节点2”)的相同子节点交集=“子节点1”,查找节点id为1,2,3(即:“父节点1”、“父节点2”、“父节点3”)的相同子节点交集为空集。
那么这个sql语句应该怎么写?谢谢!
SQLite SQL 需求
------解决方案--------------------
sqlite> select * from MessageInfo;
id
------解决方案--------------------
msg
------解决方案--------------------
parent_id
------解决方案--------------------
level
1
------解决方案--------------------
父节点1
------解决方案--------------------
0
------解决方案--------------------
1
2
------解决方案--------------------
父节点2
------解决方案--------------------
0
------解决方案--------------------
1
3
------解决方案--------------------
父节点3
------解决方案--------------------
0
------解决方案--------------------
1
4
------解决方案--------------------
子节点1
------解决方案--------------------
1
------解决方案--------------------
2
5
------解决方案--------------------
子节点2
------解决方案--------------------
1
------解决方案--------------------
2
6
------解决方案--------------------
子节点1
------解决方案--------------------
2
------解决方案--------------------
2
7
------解决方案--------------------
子节点3
------解决方案--------------------
2
------解决方案--------------------