В SQL Server 2005 я делаю запрос, который выдает набор результатов со следующими атрибутами:
TableName | ColumnName | SomeColumn
Могу ли я как-то улучшить этот запрос, чтобы для каждой записи из этого набора результатов я получил бы count of elements from that table
(или вообще выполнить любой запрос к таблице и столбцу, указанному в TableName, ColumnName? Может ли быть достигнуто что-то подобное:
SELECT *, (SELECT COUNT(*) FROM Q.TableName) AS Cnt, (SELECT AVG(SomeColumn) FROM Q.TableName) AS AvgValue
FROM
(`...OMITTED ORIGINAL QUERY...`) AS Q
?
Приведенный выше запрос не работает. Ошибкапроисходит: "Неверное имя объекта 'Q.TableName'".
Возможно ли это в SQL Server 2005 с использованием только простых запросов (без хранимых процедур)?
Пример данных:
TableName | ColumName
SomeTable1 | Column11
SomeTable1 | Column12
SomeTable2 | Column21
SomeTable2 | Column22
SomeTable3 | Column31
Я бы хотел, чтобы каждая строка из этого sample data
имела больше атрибутов:
TableName | ColumName | CountInThatTable | AvgValueInThatColumnFromThatTable
SomeTable1 | Column11 | N1 | N11
SomeTable1 | Column12 | N1 | N12
SomeTable2 | Column21 | N2 | N21
SomeTable2 | Column22 | N2 | N22
SomeTable3 | Column31 | N3 | N31