【发布时间】:2020-07-29 17:53:11
【问题描述】:
如果任何特定子节点符合一组标准,我想选择一个父节点及其所有子节点。这可以通过单个查询实现吗?
使用两个查询,它看起来像这样:
SELECT p_id INTO target
FROM parent, children
WHERE parent.p_id = children.p_id and children.data1 = 'blah';
SELECT *
FROM parent
JOIN children ON parent.p_id = children.p_id and children.p_id = target;
.
p_id name
1 Perice
2 Siward
3 Scottie
c_id p_id name
1 1 Arda
2 1 Katrinka
3 2 Gladi
4 3 Hedi
5 3 Didi
6 3 Lorry
如果谓词是 Lorry 的子名称匹配,则结果集将包含
p_id c_id p_name c_name
3 4 Scottie Hedi
3 5 Scottie Didi
3 6 Scottie Lorry
【问题讨论】:
-
你在使用 ORM(例如 EF 或 hibernate)吗?
-
不,我是在mysql里写程序。
-
这能回答你的问题吗? Multiple SQL query in C#
-
远程也不行。
-
能否提供样本数据?