Select que não roda???
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
)
[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
Curtidas 0
Respostas
Edison_br
12/01/2005
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
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
GOSTEI 0
Vinicius2k
12/01/2005
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+
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+
GOSTEI 0
Paulo_amorim
12/01/2005
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é+
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é+
GOSTEI 0
Thyago
12/01/2005
Ola Pessoal, bom dia!
Estou enfrentando o mesmo problema que jowjow passsou ou está passando..
Multiple rows in singleton select
Utilizando a seguinte consulta..
Como faço para retornar mais valores??
Onde eu colocaria o Join.. ? Que tipo de Join é recomando usar neste caso? O Inner?
Obrigado.
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.
GOSTEI 0
Emerson Nascimento
12/01/2005
Ola Pessoal, bom dia!
Estou enfrentando o mesmo problema que jowjow passsou ou está passando..
Multiple rows in singleton select
Utilizando a seguinte consulta..
Como faço para retornar mais valores??
Onde eu colocaria o Join.. ? Que tipo de Join é recomando usar neste caso? O Inner?
Obrigado.
SELECT DESCRICAO_OBSERVACAO FROM OBSERVACAO WHERE ID_OBSERVACAO = (SELECT ID_OBSERVACAO FROM AVALIACAO_OBSERVACAO WHERE AVALIACAO_OBSERVACAO.ID_AVALIACAO = ´33´)
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´)
GOSTEI 0