TableBoxes TableItems
BoxCode BoxDesc ItemNo BoxCode ItemDesc
X1 Freight1 123 X1 Tomatoes
X4 Freight2 124 X1 Apples
X8 Freight3 128 X4 Potatoes 我只想要BoxCode=X1的结果行,输出由ItemNo命令
BoxNumber ItemNo ItemDesc
1 1 Tomatoes
1 2 Apples我可以通过在ItemNo上使用row_number()轻松地使'ItemNo‘系列工作。我怎样才能找到第一张桌子上盒子的系列呢?我当前的查询
select
row_number() over(
order by a.ItemNo
)as ItemNo
,ItemDesc
from
TableItems a
inner join TableBoxes b
on a.BoxCode=b.BoxCode
where
a.BoxCode='X1'不知道如何为BoxCode选择串行,达米恩。
发布于 2012-04-30 11:28:19
这是你想要的吗?
WITH TableBoxesRanked AS (
SELECT
*,
BoxNumber = ROW_NUMBER() OVER (ORDER BY BoxCode)
FROM TableBoxes
)
SELECT
b.BoxNumber,
ItemNumber = ROW_NUMBER() OVER (ORDER BY i.ItemNo),
i.ItemDesc
FROM TableItems i
INNER JOIN TableBoxesRanked b ON i.BoxCode = b.BoxCode
WHERE a.BoxCode = 'X1'发布于 2012-04-30 11:33:50
使用dense_rank()如下所示:
SELECT DENSE_RANK() OVER(order by a.BoxCode) , row_number() over(order by a.ItemNo)as ItemNo, ItemDesc
from #TableItems a
inner join #TableBoxes b on a.BoxCode=b.BoxCode where a.BoxCode in ('X1','X4')https://stackoverflow.com/questions/10382805
复制相似问题