Jump to content
FabianoSouza

Retornar colunas da subconsulta

Recommended Posts

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.

Share this post


Link to post
Share on other sites

Sem muito detalhes é apenas um chute, mas tentou usar este select que está como coluna para uma tabela virtual ?

 

 

 

 

Share this post


Link to post
Share on other sites
Em 25/08/2023 at 13:09, FabianoSouza disse:

SELECT 
 TA.titulo AS 'Trilha'
, aux.*
FROM dbo.tabA AS TA,
(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
) aux

 

 

algo assim.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By JoãoNeto2
      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?
    • By rdavisp
      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.
    • By Bruno_Sam
      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???
       
      Obs:Não posso criar tabela temporaria no banco.
    • By wellfc12
      Olá boa noite sou novo neste fórum, estou procurando ajuda pois não sei com eu poderia fazer. Estou modelando um banco de dados e agora cheguei a um ponto que não sei como fazer. 
      Preciso criar uma tabela que registre a movime tacacao de pessoas que iram passar na entrada da empresa, porém quando eu crio o relacionamento desta nova tabela com tabela pessoa para garantir integridade de quem é a pessoa que está entrando ou saída da empresa eu consigo, mas eu preciso também registrar o usuário (porteiro) que está registrando essa movimentação. A minha tabela de pessoas se relaciona com o usuário, pois uma pessoa cadastrada no sistema não necessariamente precisa ter um usuário, mas um usuário pra ter acesso ao sistema e necessário tar cadastrado na tabela pessoas. Quando vou relacionar na nova tabela que a pessoa quem passou é cod 2 exemplo eu preciso registrar qual é usuário quem registrou isso que poderia ser o cod 10 (cod o usuário, que do porteiro que tbm esta cadastrado no sistema) 
       
      Isso pode ser até uma coisa besta mas eu não sei como posso nesta ocasião. 
      Obrigado! 
       
      Anexo coloquei a imagem de uma modelagem que estou fazendo. 
       

    • By Jhonatan de Souza
      Olá Pessoal meu nome é Jhonatan da Dev Aprender não quero que fiquemos para trás do pessoal da gringa, aqui no Brasil quero trazer também cursos de qualidade para a comunidade

      E por isso ontem lancei este : "Curso SQL Completo 2019 [Iniciantes] + Desafios e Muita Prática"
      Espero que ele possa ajudar o máximo de pessoas possível, se houver algum MOD que possa me ajudar caso não seja permitido postar este conteúdo aqui, eu posso remover, de qualquer forma bom aprendizado pessoal!

      https://www.youtube.com/watch?v=rX2I7OjLqWE

      Grade do Curso:
      00:00:00 - 00:00:36 - O que você irá aprender no curso
      Aula 00 - Instalando SQL Server e SSMS 00:00:36 - 00:05:34
      Aula 01 - Restaurando um banco de dados 05:40 - 12:30
      Aula 02 - Select + Desafios 00:12:30 - 00:18:59
      Aula 03 - Disctinct + Desafios 00:18:59- 00:34:02
      Aula 04 - Where + Desafios 00:21:57 - 34:11
      Aula 05 - Count + Desafios 00:34:02 - 00:38:08
      Aula 06 - Top + Desafios 00:38:10 - 00:40:01
      Aula 07 - Order By + Desafios 00:40:01 - 00:46:20
      Aula 08 - Between 00:46:29 - 00:51:46
      Aula 09 - In 00:51:55 - 00:55:31
      Aula 10 - Like 00:55:40 - 01:00:25
      Aula 11 - Desafios fundamentos SQL 00:01:06 - 01:06:33
      Aula 12 - Min Max Sum Avg - 01:06:40 - 01:10:50
      Aula 13 - Group By 01:11:00 - 01:24:18
      Aula 14 - Having 01:24:18 - 01:32:40
      Aula 15 - As 01:33:00 - 01:38:58
      Aula 16 - Inner Join 01:30:05 - 01:55:17
      Aula 17 -Tipos de Joins 01:55:25 - 02:03:56
      Aula 18 - Outer Join 02:04:05 - 02:09:15
      Aula 19 - Union 02:09:20 - 02:15:13
      Aula 20 - Datepart 02:15:20 - 02:21:12
      Aula 21 - Manipulação de String 02:21:18 - 02:27:43
      Aula 22 - Operações Matemáticas 02:27:47 - 02:32:08
      Aula 23 - Subquery 02:32:12 - 02:43:06
      Aula 24 - Self Join 02:43:06 - 02:53:09
      Aula 25 - Tipos de Dados 02:53:13 - 03:01:29
      Aula 26 - Chave primária e estrangeira 03:01:35 - 03:08:50
      Aula 27 - Create Table 03:09:00 - 03:19:49
      Aula 28 - Insert Into 03:19:49 - 03:26:39
      Aula 29 - Update 03:26:45 - 03:30:14
      Aula 30 - Delete 03:30:20 - 03:33:05
      Aula 31 - Alter Table 03:33:10 - 03:39:48
      Aula 32 - Drop Table 03:39:55 - 03:42:55
      Aula 33 - Check Constraint 03:43:00 - 03:46:18
      Aula 34 - Not Null Constraint 03:47:03 - 03:53:38
      Aula 35 - Unique Constraint 03:53:43 - 03:52:41
      Aula 36 - Views 03:52:41 - 03:55:30
      Considerações Finais 03:55:31  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.