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

时间:2013-11-14 01:33:25

标签: mysql sql

我有以下查询:

    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 - 每个派生表都必须有自己的别名

2 个答案:

答案 0 :(得分: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)

1st:您的表/子查询没有别名。

第二名:您的LEFT JOIN没有条件。

答案 1 :(得分: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)