CrazyLOL 2 Denunciar post Postado Outubro 7, 2015 Galera tenho este select aqui select a.cod_acervo, a.titulo, a.qtde, a.num_pag, a.cod_empresa, a.codcoligada, a.codfilial, a.ativo, a.cod_acervo_tipo, b.apelido, (select (d.nome || '#' || be.data_retirada || '#' || be.data_devolucao || '#' || be.cod_emprestimo) as resultado FROM rh_biblioteca_emprestimo be left outer join rm.ppessoa d on d.cpf = be.colaborador_cpf where be.cod_acervo = a.cod_acervo and be.data_retirada is not null and be.data_devolucao is null) as colaborador from rh_biblioteca_acervo a left outer join npd_empresas b on b.cod_empresa = a.cod_empresa and b.codcoligada = a.codcoligada and b.codfilial = a.codfilial where 1 = 1 and a.cod_empresa = '9' and a.codcoligada = '6' and a.codfilial = '1' and (select (d.nome || '#' || be.data_retirada || '#' || be.data_devolucao || '#' || be.cod_emprestimo) as resultado FROM rh_biblioteca_emprestimo be left outer join rm.ppessoa d on d.cpf = be.colaborador_cpf where be.cod_acervo = a.cod_acervo and be.data_retirada is not null and be.data_devolucao is null) is not null E está aparecendo a mensagem "A subconsulta de uma unica linha retorna mais de uma linha" porém, ficou meio complicado , o intuito desse select é verificar se na minha biblioteca quais livros estão emprestado, nesse trecho aqui: select (d.nome || '#' || be.data_retirada || '#' || be.data_devolucao || '#' || be.cod_emprestimo) as resultado FROM rh_biblioteca_emprestimo be left outer join rm.ppessoa d on d.cpf = be.colaborador_cpf where be.cod_acervo = a.cod_acervo and be.data_retirada is not null and be.data_devolucao is null eu estou verificando se o a.cod_acervo está com dados se estiver então foi emprestado, mas aparece essa mensagem pode ter casos que tenho 2 exemplares e ficou dois lançamentos para um livro. Alguma ideia de como resolver isso, ou a minha logica está errado? Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Outubro 8, 2015 Um subselect deste tipo só pode retornar no máximo uma linha. Solução , troque o suselect por um join , a linha vai "duplicar" pois pode haver mais um livro emprestado por usuário. Compartilhar este post Link para o post Compartilhar em outros sites
CrazyLOL 2 Denunciar post Postado Outubro 8, 2015 Entendi, vou fazer isso então! Compartilhar este post Link para o post Compartilhar em outros sites