-5

我有以下查询:

    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)

它给出了这个错误:

#1248 - 每个派生表都必须有自己的别名

4

2 回答 2

0

尝试这个:

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)

第一:您的表/子查询没有别名。

第二:你没有条件LEFT JOIN

于 2013-11-14T01:36:27.847 回答
0

尝试这个:

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)
于 2013-11-14T01:44:41.323 回答