Top do SQL Server acusado como erro de SQL

Saudações galera,estou com problema em uma query executada no SC,esse problema ja esta em outros tópicos mas em nenhum esta respondida,segue o que estou tentando fazer se alguem tiver uma luz ficarei grato

SELECT TOP 30
TagTable.TagName,
FloatTable.Val,
TagTable.TagIndex,
FloatTable.TagIndex,
FloatTable.DateAndTime
FROM
dbo.TagTable INNER JOIN dbo.FloatTable ON TagTable.TagIndex = FloatTable.TagIndex

A outra maneira de eu limitar os dados de retorno no SQL server de outra forma,sem o select top ?

Onde o Sr deseja realizar essa operação?
Qual aplicação ou evento?

Estou trabalhando com uma consulta,grid.Independente disso sempre quando tento executar uma consulta no SC com o TOP ele retorna erro.

Atenção
Erro ao acessar o banco de dados
The column ‘TagIndex’ was specified multiple times for ‘nm_sel_esp’.
select count(*), sum(Val) as sum_val from (SELECT TOP (120) TagTable.TagName, FloatTable.Val, TagTable.TagIndex, FloatTable.TagIndex, FloatTable.DateAndTime FROM dbo.TagTable INNER JOIN dbo.FloatTable ON TagTable.TagIndex = FloatTable.TagIndex) nm_sel_esp

Grids (Consulta no SC) ja vem co o TOP incluso (quando você configura número de linha por pagina). Tente colocar paginação total, ou crie uma view para esse select e o utilize nessa grid.

Colocar a aplicação em modo debug ajuda a identificar o problema mais facilmente.

Connect (não sabemos seu nome verdadeiro),

O erro está aqui:

TagTable.TagIndex,
FloatTable.TagIndex

Você está definindo 2 campos com o mesmo nome. Crie um alias para um deles ou para os dois, tipo:

TagTable.TagIndex Tag_Index_1,
FloatTable.TagIndex Tag_Index_2

Uso o SC desde a v4, até a v6 aceitava TOP na query principal, agora não aceita mais, como o Haroldo mencionou o SC já usa o top.
Você pode colocar parcial 30 e não colocar barra de ferramentas de avançar voltar e demais navegações.

Srs, meu nome é Murilo, Mas mesmo assim ele vai carregar todos os registros,não tem outra forma com where talvez ?

Você pode fazer uma view ou storage procedure e executar pelo SC, acho que assim dará ceerto usar o top…

Deu certo :slight_smile: VALEU !!!

CREATE VIEW teste AS
SELECT TOP 30
TagTable.TagName,
FloatTable.Val,
TagTable.TagIndex Tag_Index_1,
FloatTable.TagIndex Tag_Index_2,
FloatTable.DateAndTime
FROM
dbo.TagTable INNER JOIN dbo.FloatTable ON TagTable.TagIndex = FloatTable.TagIndex
ORDER BY
FloatTable.DateAndTime DESC, FloatTable.Val DESC, TagTable.TagName DESC

Legal, mude o título para [RESOLVIDO] Top do SQL Server acusado como erro de SQL