Preciso corrigir o erro "Somente uma expressão pode ser especificada na lista de seleção quando a subconsulta não é introduzida com EXISTS." da minha consulta.
SELECT
TA.titulo AS 'Trilha'
, (SELECT
CAST(ROUND((Comportamental * 100.0) / (Comportamental + Técnico), 2) AS DECIMAL(5,1)) AS Comportamental
,CAST(ROUND((Técnico * 100.0) / (Comportamental + Técnico), 2) AS DECIMAL(5,1)) AS Técnico
FROM (
SELECT
SUM(CASE WHEN dbo.tabB.enfoque = '1' THEN 1 ELSE 0 END) AS Comportamental,
SUM(CASE WHEN dbo.tabB.enfoque = '2' THEN 1 ELSE 0 END) AS Técnico,
COUNT(*) AS Total
FROM dbo.tabB
) tab
)
FROM dbo.tabA AS TA
Nessa consulta, preciso trazer o título (da tabA) e o resultado de um cálculo feito na subconsulta, nos campos Comportamental e Técnico.
Eu estava usando um programa em PHP que conectava e lia um banco de dados SQL Server. Do nada ele parou de funcionar apresentando a seguinte mensagem :
O cliente não pode estabelecer conexão porque foi encontrado um erro durante os handshakes anteriores ao logon. As causas comuns incluem a tentativa do cliente de conectar-se a uma versão sem suporte do SQL Server, o servidor muito ocupado para aceitar novas conexões ou uma limitação de recursos (memória ou máximo de conexões permitidas) no servidor.
Algumas informações para esclarecer :
1-Consigo conectar o banco via Dbeaver da própria máquina que o programa PHP deixou de funcionar
2-De outra máquina consigo conectar esse mesmo banco com o mesmo programa PHP
3-Essa mesma máquina conecta outro banco SQL Server de outro cliente
Ou seja, o mesmo programa conecta o mesmo banco mas de outra máquina e a mesma máquina consegue conectar outro banco SQL.
O que pode ser?
Olá, pessoal mais uma vez venho pedi a ajuda de vocês estou com um problema ao roda uma query que montei, eu sou iniciante na area e não tenho muito conhecimento então o codigo que fiz foi parte de meu conhecimento básico. bom o que eu quero resolver nessa query é o seguinte, eu quero consultar uma tabela e nela pega todos os registros com a a data vencida e lista ela dentro do while em seguida retornar dentro desse if o valor da coluna de cada uma exemplo de como fiz e ficou com loop infinito.
declare @id int
declare @getdate datetime
select @id = IDCadastrado, @getdate = RegDate from BancoTeste.dbo.MinhaTabela where RegDate < getdate()
while @id is not null
begin
select * from BancoTeste.dbo.MinhaTabela where IDCadastrado = @id
end
quando eu executo isso ai ele executa infinitamente o valor do primeiro registro repetidamente.
Senhores, recorro a ajuda de vocês pois venho do banco de dados Oracle e tenho encontrado certa dificuldade para trabalhar com o SQL Server 2012, mais especificamente com a linguagem Transact-SQL. Pelo o que eu tenho percebido, não se trata de uma linguagem fortemente tipada em relação ao gerenciamento de escopo de variáveis. Exemplo, como as variavéis de cursores, que caso a primeira interação atribua valores válidos para as variáveis e caso na segunda volta do looping seja retornado nulo é mantido o valor da primeira interação. Outra coisa que eu estou tentando entender é o fato da seguinte query dentro de um bloco não retornar resultado dinamincamente na execução:
SELECT @IDSALAMODELO = SM.ID
,@NOMEGRUPO = G.NOME
FROM CRT C
,GRUPO G
,SALAMODELO SM
,EMPRESA E
WHERE C.IDGRUPO = G.ID
AND G.IDSALAMODELO = SM.ID
AND SM.IDEMPRESA = E.ID
--
AND C.ID = CAST(@CRT AS INT)
AND C.ATIVO = @ATIVO
AND G.ATIVO = @ATIVO
AND G.IDINTAKE = @INTAKEATUAL
AND E.ID = @IDEMPRESA
E quando a executo numa janela de consulta com os parametros hardcode ela me retorna resultado. Não estou limpando elas em momento algum e ja tentei deixar os valores hardcode dentro do bloco, mas ainda assim, o resultado permance o mesmo, ou seja, não me retorna resultado.
Por isso, se possível, gostaria da opinião de vocês para que eu posso solucionar esse problema.
Grato.
Preciso buscar em todas as tabelas do banco um nome de cliente. Não sei quais tabelas contem o nome desse cliente e preciso pois esta errado o nome. Existe algum select que faça busca de um valor em todas as tabelas e fala quais estão???