【发布时间】:2011-09-14 19:44:24
【问题描述】:
我有以下选择语句...
SELECT ROW_NUMBER() OVER(order by cola) as [id], cola
FROM Table1
这构成了我想要作为@var 插入的所有值的表,现在它可以工作,但我每次都必须指定@var...
SELECT @var AS [Cola], (
SELECT COUNT(*)
FROM vwTableA AS Z
WHERE Cola = COALESCE(@var,Cola)
AND NOT EXISTS (
SELECT *
FROM TableB
WHERE Colb = Z.Colb
)
) AS [NewCol1],
(
SELECT COUNT(*)
FROM vwTableB AS Y
INNER JOIN TableC AS C
ON Y.Colc = C.Colc
WHERE Y.Cola = @var
) AS [NewCol2],
(
SELECT COUNT(*)
FROM vwTableC AS X
INNER JOIN TableD AS D
ON X.Colc = D.Colc
WHERE X.Cola = @var
) AS [NewCol3]
所以我想通过我显示的第一个 Select/Table 中的所有“cola”值运行第二个选择,而不是必须指定 @var 并且每次只返回一行。我怎样才能做到这一点?
【问题讨论】: