1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

DB function failed with error number 1064-Erro MySQL

Discussão em 'Web Development' iniciada por satman1, 10 de Setembro de 2008. (Respostas: 6; Visualizações: 1960)

  1. satman1

    satman1 Power Member

    Olá,

    Estou a tentar fazer uma view em MySQL para mostrar os pagamentos de um determinado sócio numa associação.Como tenho uma tabela Pagamentos_Socios que guarda os ID dos pagamentos e dos sócios, preciso de mostrar o nome do sócio e a respectiva designação do pagamento.

    Fiz a seguinte query:

    Código:
    $query = "SELECT c.*,r. descricao_pagam FROM #__pagamentos_socios AS c LEFT JOIN #__pagamentos AS r ON r.id_pagamento = c.id_pagamento 
    AND SELECT p.*,s.nome FROM #__pagamentos_socios AS p LEFT JOIN #__associados AS s ON s.id = p.id"; 
    e obtenho o seguinte erro:

    DB function failed with error number 1064
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

    'SELECT p.*,s.nome FROM jos_pagamentos_socios AS p LEFT JOIN jos_associados AS s ' at line 2 SQL=SELECT c.*,r. descricao_pagam FROM jos_pagamentos_socios AS c LEFT JOIN jos_pagamentos AS r ON r.id_pagamento = c.id_pagamento AND SELECT p.*,s.nome FROM jos_pagamentos_socios AS p LEFT JOIN jos_associados AS s ON r.id = p.id LIMIT 0, 100
     
    Última edição pelo moderador: 10 de Setembro de 2008
  2. SoundSurfer

    SoundSurfer Power Member

    Aquele " AND " está ali mal (ou tudo o resto que está para a frente).
     
  3. satman1

    satman1 Power Member

    Se não posso fazer and (...) como posso utilizar o outro select?
    A primeira parte da query funciona.
     
  4. SoundSurfer

    SoundSurfer Power Member

    Código:
    $query = "SELECT c.*,r. descricao_pagam, s.nome FROM #__pagamentos_socios AS c LEFT JOIN #__pagamentos AS r ON r.id_pagamento = c.id_pagamento 
    LEFT JOIN #__associados AS s ON s.id = c.id";
     
  5. p3dro

    p3dro Power Member

    Só podes utilizar um And dentro de uma instrução Where, mas pelo que percebi tu queres fazer uma união, certo? Se sim, consulta este link para ver alguns exemplos
     
  6. SoundSurfer

    SoundSurfer Power Member

    também podes ter ANDs na cláusula "ON" do JOIN
     
  7. p3dro

    p3dro Power Member

    Obrigado pela correcção SoundSurfer.
     

Partilhar esta Página