我应该是一个非常简单的子查询:
DECLARE @count TABLE (count1 INT, count2 INT)
SELECT
(SELECT COUNT(*) FROM Bird) AS count1,
(SELECT COUNT(*) FROM Fish) AS count2
FROM @count
SELECT COUNT(*) FROM Bird
时,我回来了10。 SELECT COUNT(*) FROM Fish
时,我得到5回复。 我错过了什么吗?我已经看过多个不同的教程,而且他们都说完全正是我正在做的事情。
答案 0 :(得分:2)
我假设您正在尝试将两个计数插入声明的表中。如果这是真的,那么您错过了INSERT INTO
,并且您不需要一个FROM @count
...
在这个例子中,我使用两个count(在其他表上)将一行插入@count
,您可以在最后一步中选择:
declare @count table (count1 int, count2 int);
INSERT INTO @count
select (SELECT COUNT(*) FROM sys.all_columns)
,(SELECT COUNT(*) FROM sys.tables);
SELECT * FROM @count;
答案 1 :(得分:0)
由于您从@count表中选择了没有任何记录的记录,因此您将始终获得无记录。顺便问一下,你想要达到什么目标?