【发布时间】:2012-10-25 02:37:58
【问题描述】:
给定一个父+引用表,其中Reference表如下
Ref_ID PARENT_ID
-------------------
1 1
2 1
1 2
3 2
1 3
3 3
4 3
2 4
3 4
我正在尝试返回 ref_id 包含 2 和 3 的所有不同父行
查询
SELECT *
FROM Parent
WHERE parent_id in (SELECT parent_id from XRefTable where ref_id in (2, 3) )
返回所有 parent_id 1、2、3、4
WHEREAS 所需的正确结果是返回 parent_id 4,它同时具有 ref_id 的 2 和 3,其他的具有 2 或 3
感谢任何帮助
仅供参考 - 查询中有 4-7 个表(取决于用户选择),因此性能是一个重要因素
SORRY 不能使用存储过程,因为它也必须在 SQL Server CE 上工作
【问题讨论】:
-
有多少不同的 ref_id 值?还有多少不同的 parent_id 值?您还期望这些会随着时间的推移而增长吗?
-
@Tobsey 这些是用户定义的——根据定义和选择
标签: sql join sql-server-ce