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进行第二次选择。但对于所有数据。
我为此检查光标功能或为此选择数据或字段[]创建新表但我不知道如何操作。请帮帮我。
答案 0 :(得分:0)
所以,问题的一部分是你在子查询中有一个Group By int(“劣质选择”。这将允许select有一个列(count(table.column.id))但多行为该列,每个table.refer一个。如果你考虑它,你要求sub select的结果是一个更高选择的字段。所以它只能返回一个值。
所以我想你可能只想删除Group By。这将返回子查询的单个Count结果。
如果这不是你想要的但是期望多个值,那么子查询作为一个字段将不是要走的路,并且需要更好地描述你想要实现的目标。