Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Consulta com 3 tabelas...


Betosum

Pergunta

Bom dia Pessoal,

Estou com problemas que não estou conseguindo solucionar....

Tenho 3 tabelas

CadMembros

CadVisitantes

Emprestimos

Acontece que estou fazendo uma consulta onde retorne os emprestimos em atraso. Até ai tudo bem....mas eu gostaria que os campos NomeMembro e NomeVisitante saissem no mesmo campo. ao invés disso está saindo em campos distintos...segue abaixo a minha consulta em SQL.

SELECT Emprestimos.DtEmail,

Emprestimos.QtdeEmail,

Emprestimos.Visitante,

Emprestimos.CodEmprestimo,

Emprestimos.DATA,

Emprestimos.CodMembro,

Emprestimos.Bibliotecario,

Emprestimos.DataDevolver,

Livro.LocalArmaz,Livro.Tipo,

UPPER(Livro.Titulo) Titulo,

CadVisitante.EmailVisitante,

UPPER(CadVisitante.NomeVisitante) NomeVisitante,

CadAlunosEbd.Email,

UPPER(CadAlunosEbd.Nome) Nome

FROM Emprestimos LEFT OUTER JOIN CadAlunosEbd ON Emprestimos.CodMembro = CadAlunosEbd.Cad

LEFT OUTER JOIN CadVisitante ON Emprestimos.CodMembro = CadVisitante.CodVisitante

INNER JOIN Livro ON Livro.LocalArmaz = Emprestimos.CodAcervo

WHERE Emprestimos.DataDevolucao IS NULL

Se alguém puder ajudar eu agradeço....

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Bom dia Beto,

Para agrupar os campos, poderá utilizar o +. Ex.:

NomeMembro + ' ' + NomeVisitante

OBS.:

O + quando é caracter é concatenado, mas quando é inteiro é somado.

Fulvio boa noite....

Agradeço a resposta mas acho que não me espressei bem na pergunta.

O que ocorre é que Na Tabela de empréstimos tem o campo CodMembro que grava os 2 códigos, Cad(CodMembro) e CodVisitante. quando executo a Sql citada acima é retornado o nome do Membro e o NomeVisitante em campos distintos. Por exemplo:

CodMembro NomeMembro NomeVisitante

499_________JESUS________ -_____________

10001______-_____________ - Filho de Deus

100________- Lucas________ -______________

O que Gostaria listasse é:

CodMembro Nome

499_______ - Jesus

10001_____ - Filho de Deus

100_______ - Lucas

Todos em um único campo....

Obrigado pela atenção, abraço...

Beto

Editado por Betosum
Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia Beto,

Ok, entendi o q deseja.

Neste caso, você poderá utilizar o CASE para testar os campos. Fiz um exemplo com o que passou:

CREATE TABLE #tabela (CodMembro INT, NomeMembro VARCHAR(50), NomeVisitante VARCHAR(50))

INSERT INTO #tabela VALUES (499, 'JESUS', null)
INSERT INTO #tabela VALUES (10001, NULL, 'Filho de Deus')
INSERT INTO #tabela VALUES (100, 'Lucas', null)


SELECT CodMembro, 
CASE WHEN NomeMembro IS NOT NULL THEN  NomeMembro
WHEN NomeVisitante IS NOT NULL THEN  NomeVisitante end Nome
 FROM #tabela t

Link para o comentário
Compartilhar em outros sites

  • 0

RESOLVIDO...

Boa Noite,

Obrigado Fulvio, problema resolvido....

Deus te abençoe....

Forte abraço.

Beto

:)

Bom dia Beto,

Ok, entendi o q deseja.

Neste caso, você poderá utilizar o CASE para testar os campos. Fiz um exemplo com o que passou:

CREATE TABLE #tabela (CodMembro INT, NomeMembro VARCHAR(50), NomeVisitante VARCHAR(50))

INSERT INTO #tabela VALUES (499, 'JESUS', null)
INSERT INTO #tabela VALUES (10001, NULL, 'Filho de Deus')
INSERT INTO #tabela VALUES (100, 'Lucas', null)


SELECT CodMembro, 
CASE WHEN NomeMembro IS NOT NULL THEN  NomeMembro
WHEN NomeVisitante IS NOT NULL THEN  NomeVisitante end Nome
 FROM #tabela t

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...