Fórum Select que não roda??? #265115

12/01/2005

0

Alguém sabe que erro é este:

[b:a3518bca37]Multiple rows in singleton select
.
Multiple rows in singleton select.[/b:a3518bca37]

(
Ocorre quando rodo esta query no ibExpert
select materia.pagina_inicial,
materia.titulo,
(select foto.id_retranca from foto
where m.ordem = foto.ordem),

(select count(*) from page_view
where page_view.in_tipo = ´Z´
and page_view.nr_tempo_permanecia > ´30´) as leituras
from materia m
)


Jowjow

Jowjow

Responder

Posts

12/01/2005

Edison_br

não entendi o que vc quer fazer mas vou te dau um exemplo de como fazer um sql com duas tabelas

SELECT C.CODIGO, C.NOME, CI.NOME || ´-´ || CI.UF
FROM CLIFOR C, CIDADE CI
WHERE CI.CODIGO = C.CIDADE

se vc não entender explique oque vc que fazer.

[]Edison de Brito


Responder

Gostei + 0

12/01/2005

Vinicius2k

Colega,

O que está acontecendo é que sub-selects só podem trazer um único registro para a linha da select principal...
Uma, ou as duas, sub-selects que vc está utilizando, estão retornando mais de um registro.
Vc precisa rever as cláusulas where das sub-selects para que elas só tragam um único registro para a select principal.

T+


Responder

Gostei + 0

13/01/2005

Paulo_amorim

Olá

Como o Vinicius disse, a subselect traz mais de um registro, causando conflito. No caso, vê-se que o problema eh na primeira subquery, já que a segunda eh um COUNT

Na sua primeira subquery você não passa parâmetros, mas só faz um Join... isso vai trazer todos os registros relacionados, quando deveria trazer um só. Verifique quais devem ser os parâmetros para que ela funcione adequadamente

Até+


Responder

Gostei + 0

23/03/2006

Thyago

Ola Pessoal, bom dia!

Estou enfrentando o mesmo problema que jowjow passsou ou está passando..

Multiple rows in singleton select

Utilizando a seguinte consulta..

SELECT DESCRICAO_OBSERVACAO FROM OBSERVACAO
WHERE ID_OBSERVACAO = (SELECT ID_OBSERVACAO FROM AVALIACAO_OBSERVACAO WHERE AVALIACAO_OBSERVACAO.ID_AVALIACAO = ´33´)



Como faço para retornar mais valores??

Onde eu colocaria o Join.. ? Que tipo de Join é recomando usar neste caso? O Inner?

Obrigado.


Responder

Gostei + 0

23/03/2006

Emerson Nascimento

Ola Pessoal, bom dia! Estou enfrentando o mesmo problema que jowjow passsou ou está passando.. Multiple rows in singleton select Utilizando a seguinte consulta..
SELECT DESCRICAO_OBSERVACAO FROM OBSERVACAO
WHERE ID_OBSERVACAO = (SELECT ID_OBSERVACAO FROM AVALIACAO_OBSERVACAO WHERE AVALIACAO_OBSERVACAO.ID_AVALIACAO = ´33´)
Como faço para retornar mais valores?? Onde eu colocaria o Join.. ? Que tipo de Join é recomando usar neste caso? O Inner? Obrigado.


no seu caso o mais recomendado é o uso do comparador IN no lugar do = :
SELECT
  DESCRICAO_OBSERVACAO
FROM
  OBSERVACAO
WHERE ID_OBSERVACAO IN
   (SELECT
      ID_OBSERVACAO
    FROM
      AVALIACAO_OBSERVACAO
    WHERE
      AVALIACAO_OBSERVACAO.ID_AVALIACAO = ´33´)



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar