Subquery returns more than 1 row

MySQL

30/04/2014

Pessoal,

alguém pode me ajuadar com este erro?

SELECT apsc_products.id
From apsc_products
Inner Join apsc_categories
On
(apsc_products.category_id = 9 and apsc_products.category_id = apsc_categories.id Or
apsc_products.category_id = IF((SELECT apsc_categories.id From apsc_categories,apsc_products where apsc_products.category_id =apsc_categories.parent_id) ,apsc_categories.id, apsc_categories.parent_id) )

Grato,
João Freitas

João Freitas

Curtidas 0

Respostas

William

William

30/04/2014

João, não está faltando nada nessa instrução SQL?

Estou achando muito estranho esse trecho:
apsc_products.category_id = IF((SELECT apsc_categories.id From apsc_categories,apsc_products where apsc_products.category_id =apsc_categories.parent_id) ,apsc_categories.id, apsc_categories.parent_id) )


GOSTEI 0
Claudio Lopes

Claudio Lopes

30/04/2014

Explica o que pretende, o conteudo das tabelas...... talvez pensamos diferente nesse cruzamento das tabelas
GOSTEI 0
Alex Lekao

Alex Lekao

30/04/2014

Sugiro fazer um agrupamento no select que esta apos o IF.

Nao analisei a fundo o script, mas pela mensagem de erro vc esta recebendo o retorno em mais de uma linha.

Ou usar o comento TOP, First, sei la rsrsr , nao sei eh usado no MySQL, acho que eh top tbm. rsrsr

Espero ter ajudado.

Abraco.

Alex - Lekao
GOSTEI 0
POSTAR