选择返回比主选择更多的值

时间:2013-10-03 17:32:43

标签: sql group-by cursor field where

你能帮帮我吗?我有一个主要(SELECT),其中我使用了更多的下一个选择命令,但是劣质选择使我更有价值而不是一个。

SELECT table1.column1 
AS table.refer, table2.column2 AS table.value,
    --Here is my problem:
    (select count(table.column.id) FROM table1 
    left outer join table1 on table1.column1 = table.column 
    LEFT outer join table2 on table2.column2 = table1.column1
    LEFT OUTER JOIN table3 on table3.column3 = table2.column2
    WHERE table1.column1 = (23212 " This value contains more data) AND table2.column2 = value AND YEAR(table1.column1) = YEAR(GETDATE() GROUP BY table.refer)

FROM table1 left outer join table1 on table1.column1 = table.column 
LEFT outer join table2 on table2.column2 = table1.column1
LEFT OUTER JOIN table3 on table3.column3 = table2.column2

WHERE table1.name1 in (23210, 23211, 23212, 4882525, 67735166, 74605160) AND table2.name2 in (15739, 15744, 15743, 15741, 15735, 15745)    
GROUP BY table.refer, table.value

主要选择的重要值是table.refer。我只需要一个table.refer进行第二次选择。但对于所有数据。

我为此检查光标功能或为此选择数据或字段[]创建新表但我不知道如何操作。请帮帮我。

1 个答案:

答案 0 :(得分:0)

所以,问题的一部分是你在子查询中有一个Group By int(“劣质选择”。这将允许select有一个列(count(table.column.id))但多行为该列,每个table.refer一个。如果你考虑它,你要求sub select的结果是一个更高选择的字段。所以它只能返回一个值。

所以我你可能只想删除Group By。这将返回子查询的单个Count结果。

如果这不是你想要的但是期望多个值,那么子查询作为一个字段将不是要走的路,并且需要更好地描述你想要实现的目标。