-5

I have the following query:

    SELECT tb_fifeiroInscricao.*,
       tb_pagseguro.StatusTransacao,
       tb_fifeiro.ds_nome,
       tb_fifeiro.gametag
FROM tb_fifeiroInscricao
LEFT JOIN
  (SELECT MAX('tb_pagseguro.id_pagamento')
   FROM tb_pagseguro
   GROUP BY tb_pagseguro.Referencia)
INNER JOIN tb_fifeiro ON (tb_fifeiroInscricao.id_fifeiro = tb_fifeiro.id_fifeiro)

And it's giving this error:

#1248 - Every derived table must have its own alias

Mark
  • 8,046
  • 15
  • 48
  • 78
Romulo
  • 1
  • 1

2 Answers2

0

Try this:

SELECT tb_fifeiroInscricao.*,
       tb_pagseguro.StatusTransacao,
       tb_fifeiro.ds_nome,
       tb_fifeiro.gametag
FROM tb_fifeiroInscricao
LEFT JOIN
  (SELECT MAX(tb_pagseguro.id_pagamento)
   FROM tb_pagseguro
   GROUP BY tb_pagseguro.Referencia) tb1
   ON tb1.id_pagamento = tb_fifeiroInscricao.id_pagamento
INNER JOIN tb_fifeiro ON (tb_fifeiroInscricao.id_fifeiro = tb_fifeiro.id_fifeiro)

1st: you don't have aliases for your tables/sub-queries.

2nd: you don't have condition for your LEFT JOIN.

Mark
  • 8,046
  • 15
  • 48
  • 78
0

Try this:

SELECT tb_fifeiroInscricao.*,
   tb_pagseguro.StatusTransacao,
   tb_fifeiro.ds_nome,
   tb_fifeiro.gametag
FROM tb_fifeiroInscricao tb1
LEFT JOIN
(SELECT MAX(tb_pagseguro.id_pagamento)
FROM tb_pagseguro
GROUP BY tb_pagseguro.Referencia) tb2
ON tb1.id_pagamento = tb2.id_pagamento
INNER JOIN tb_fifeiro tb3 ON (tb1.id_fifeiro = tb3.id_fifeiro)
Joke_Sense10
  • 5,341
  • 2
  • 18
  • 22