2

我正在使用 SQL Server 2005。

我有一个临时排序表 ( Table_A),其中包含 2 列 ( ID, RowNumber)。现在,我通过选择临时表 ( ) 中存在 (值) 的
其他表 ( ) 中的所有行来创建一个新表。Table_BIDTable_A

SELECT * 
FROM Table_B
WHERE Table_B.ID IN (SELECT ID FROM Table_A)

上面查询的结果是没有排序的Table_A
我正在寻找一种方法来保持新结果表的结果按排序Table_A排序。

TX....

4

2 回答 2

3

您需要使用 aJOIN代替。我在下面假设Table_A每行只能有 1 行ID。如果不是这种情况,那么重写为 aJOIN将引入重复行,在这种情况下,我们将需要更多详细信息RowNumber来用于排序目的。

SELECT Table_B.* 
FROM Table_B JOIN Table_A ON  Table_B.ID = Table_A.ID
ORDER BY Table_A.RowNumber
于 2011-05-23T09:23:31.953 回答
0

select b.* from Table_B b join Table_A a on a.id = b.id order by a.RowNumber

于 2011-05-23T09:24:14.880 回答