是否可以使用ORDER BY子句来确保两个字段(都是INT类型)的以下标准,在本例中分别被称为child
和parent
。复杂的TSQL订单子句
parent
参考child
,但可以为空。- 父母可以有多个孩子;一个孩子只有一个父母。
- 小孩不能成为自己的父母。
- 必须存在至少一个没有父母的孩子。
child
的每个值必须出现在parent
中的有序结果集中。
我在遇到困难点5
样品无序数据:
child parent
------------
1 NULL
3 5
4 2
2 5
5 NULL
显然既不ORDER BY a, b
或ORDER BY b, a
工作。事实上,我越想到它,我也不确定它甚至可以完成。鉴于限制,明显的情况如:
child parent
------------
1 2
2 1
是不允许的,因为它违反了规则3和4(显然是5)。
那么,我正在努力实现的可能性,如果是的话,怎么样?平台是SQL Server 2005中
更新:所需的排序顺序为样本数据:
child parent
------------
1 NULL
5 NULL
2 5
3 5
4 2
对于每一行定义父列一个非空值,该值已经存在了int子列。
你能表现出所需的顺序样本数据,好吗?这将是一个帮助。 – 2010-07-05 11:21:11
根据您的要求添加,Brian。 – 2010-07-05 12:16:53