Jump to content
  • 0

Question

Prezados .. estou com o seguinte problema ... a primeira consulta que vou postar .. funciona perfeitamente ... quando tento um INNER JOIN uma das clausulas da problema !!

*nome do esquema, banco e tabela foram substituídos 

 

 

Consulta que funciona

SELECT [CODIGO],[FISICA] FROM [Esquema].[Banco].[TAB1] 
WHERE STATUS = 0 AND FALTAS1 IS NOT NULL AND VENDA IS NOT NULL;

 

 

Consulta com INNER JOIN que não funciona

select f.CODEXT as registroAcademico, f.NOME as nome, f.DATANASC as dataNascimento, f.SEXO as sexo, f.ATIVA as ativo,
f.CODEXT as idIntegracao from Esquema.Banco.TAB2 as f JOIN Esquema.Banco.TAB1 as m 
ON m.CODIGO = f.CODIGO AND m.FALTAS1 IS NOT NULL AND m.VENDA IS NOT NULL AND f.CODEXT IS NOT NULL 
AND f.DATANASC IS NOT NULL AND m.STATUS = 0;

 

ele reclama dessa ultima condição m.STATUS = 0 ... e

como mostra a imagem abaixo .. ele fica na cor azul .. como se nao fosse um campo da tabela !!

1129600

Sendo que na consulta anterior ele funciona de boa .. so quando faço essa maior com INNER JOIN que acontece isso! Apresenta o erro abaixo 

Mensagem 4145, Nível 15, Estado 1, Linha 4
An expression of non-boolean type specified in a context where a condition is expected, near ';'.

 

Espero que consigam me ajudar

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Tenta assim:

select f.CODEXT as registroAcademico, f.NOME as nome, f.DATANASC as dataNascimento, f.SEXO as sexo, f.ATIVA as ativo,
f.CODEXT as idIntegracao from Esquema.Banco.TAB2 as f 
JOIN Esquema.Banco.TAB1 as m ON m.CODIGO = f.CODIGO 
WHERE m.FALTAS1 IS NOT NULL AND m.VENDA IS NOT NULL AND f.CODEXT IS NOT NULL 
AND f.DATANASC IS NOT NULL AND m.STATUS = 0;

 

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 Wandersonwfs
      Bom dia Pessoal,
       
      Estou com um problema para finalizar uma consulta onde, quando executado a consulta  e não encontrado nenhuma informação no período solicitado, tenho que trazer pelo menos o nome da conta.
       
      Consulta,
       
      WITH TMPESTONO (
          NOME_IMPOSTO
          ,MES
          ,VALOR
          )
      AS (
          SELECT 'ESTORNO SOBRE GREEN VILLE' AS NOME_IMPOSTO
              ,'F_' + SZN.ZN_ITEM AS FILFOR
              ,SUM((SZN.ZN_PRV * SZN.ZN_PRCAPL) / 100) AS TOTAL
          FROM SZN010 SZN
          WHERE SZN.D_E_L_E_T_ = ' '
              AND SZN.ZN_ITEM IN (
                  '01'
                  ,'16'
                  ,'30'
                  ,'40'
                  ,'46'
                  ,'51'
                  ,'52'
                  ,'60'
                  ,'70'
                  ,'72'
                  ,'73'
                  ,'80'
                  )
              AND SZN.ZN_DATA BETWEEN '20220701'
                  AND '20220731'
              AND SZN.ZN_DESC = ('GRENVILLE')
          GROUP BY SZN.ZN_DESC
              ,SZN.ZN_ITEM
          )
      SELECT *
      FROM (
          SELECT NOME_IMPOSTO
              ,MES
              ,VALOR
          FROM TMPESTONO
          ) AS PivotData
      PIVOT(SUM(VALOR) FOR MES IN (
                  [F_16]
                  ,[F_30]
                  ,[F_40]
                  ,[F_46]
                  ,[F_51]
                  ,[F_52]
                  ,[F_60]
                  ,[F_70]
                  ,[F_72]
                  ,[F_73]
                  ,[TOTAL]
                  )) AS PivotTable2
      ORDER BY 1
       
    • By manolegal
      Bom dia
      Tenho uma variável que traz vários dados de ID_LANÇAMENTO
      var_dump($meus_ids); array 0 => string '829' (length=3) 1 => string '830' (length=3) 2 => string '828' (length=3) Preciso fazer uma soma das quantidades constantes nestes 3 lançamentos e trazer em variável, porém variável está trazendo cada quantidade em separado, ao invés da soma.
      foreach($meus_ids as $item){ $Sql_lim = "SELECT SUM(CASE WHEN quantidade >= 11 then 10 else quantidade end) as quantidades_limite FROM minha_tabela WHERE id_lancamento = $item"; $Resultado_lim = executa($Sql_lim); $total_registros_lim = @pg_num_rows($Resultado_lim); while ($linha_lim = @pg_fetch_assoc($Resultado_lim)){ $quantidade_limite_consulta = $linha_lim["quantidades_limite"]; } // Fecha "while" } // Fecha foreach Utilizo BD Postgresql.
      O total de linhas retornadas é 1, o que em tese está correto.
      O problema é que ao invés de trazer a soma das quantidades, a variável está trazendo cada quantidade individualizada por lançamento. Onde posso estar errando?
    • By Sapinn
      Galera pergunta rápida eu adicionei em um coluna sem querer o fulltext como faço para remover ???
    • By igor8831
      Boa tarde pessoal  
      minha pergunta é simples
      tenho uma consulta que retorna
       
      produto   valor
      bala           10,00
      doce          30,00
      laranja       14,00
      banana      16,00
       
      então, precisaria receber em variavel que eu possa dar um echo ou em algum campo da seguinte forma
      10,00, 30,00, 14,00, 16,00
       
      Aguém pode me ajudar?
       
      Obrigado por hora....
    • By EVERTONERP
      select 
      EP.nrCNPJ                        AS CNPJ,    
      PV.nrNSU                         AS NSU, 
      convert(CHAR,PC.dtPagamento,103) AS Data_de_Pagamento,
      BD.idBandeira                    AS Codigo_Bandeira,
      BD.dsBandeira                    AS Descrição_Bandeira, 
      PC.vlPago                        AS Valor_do_Pagamento,
      PC.nrParcela                     AS Quantidade_de_Parcelas, 
      FP.dsFormaPagamento              AS Forma_Pagamento,
      ST.dsStatusParcela               AS Descrição_Status_Parcela 
      from card.tbEmpresa        AS EP
      LEFT JOIN card.tbPagamentoVenda AS PV ON EP.idEmpresa = PV.idEmpresa
      LEFT JOIN card.tbParcela        AS PC ON PV.idPagamentoVenda = PC.idPagamentoVenda
      LEFT JOIN card.tbBandeira       AS BD ON BD.idBandeira = PV.idBandeira
      LEFT JOIN card.tbFormaPagamento AS FP ON FP.idFormaPagamento = PC.idEmpresa
      LEFT JOIN card.tbMovimentoBanco AS MB ON MB.idMovimentoBanco = PC.idMovimentoBanco
      LEFT JOIN card.tbStatusParcela  AS ST ON ST.IdStatusParcela = PC.idStatusParcela
      GROUP BY card.tbBandeira.dsBandeira
      ---------------------#--------------------------------
      Mensage de erro ao rodar a query
      Mensagem 4104, Nível 16, Estado 1, Linha 19
      O identificador de várias partes "card.tbBandeira.dsBandeira" não pôde ser associado.
×

Important Information

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