我有一个关于 SQL 的问题。
SELECT TOP (10) ordr.ordID
FROM [inSight].[dbo].[Orders] ordr
INNER JOIN [inSight].[dbo].[OrderLines] ordn ON ordr.ordID = ordn.ordID
JOIN [inSight].[dbo].[OrderLineAttributeValues] atr ON ordn.olnID = atr.olnID
WHERE
atr.atbID=190 AND
atr.olnavValue=1
(上述查询返回多个结果)
所以我要做的是,从上面的查询中获取结果,并在下面的查询中一一使用。
SELECT op.optCode
FROM [inSight].[dbo].[Orders] ordr
INNER JOIN [inSight].[dbo].[OrderLines] ordn ON ordr.ordID = ordn.ordID
JOIN [inSight].[dbo].[OrderLineOptions] ordlo ON ordn.olnID = ordlo.olnID
JOIN [inSight].[dbo].[Features] ftr ON ordlo.ftrID = ftr.ftrID
JOIN [inSight].[dbo].[Options] op ON ftr.ftrID = op.ftrID
WHERE
ordr.ordID = @OrderNumber AND
ftr.ftrID = 1477 AND
ordlo.optid = op.optID
上面的变量 OrderNumber 是第一个查询的结果。
我不想使用光标,那么有没有其他方法可以解决这个问题?