我正在查询 3 个表JOIN
,我需要对同一个表使用两次。我收到“未知列”错误消息。我尝试了各种使用别名的方法,但我无法解决问题。有任何想法吗?
SELECT DISTINCT jos_easypaypalbuttons_ipn.atendente
, jos_easypaypalbuttons_ipn.btn_name
, pagseguro.atendente
, pagseguro.produto
FROM jos_easypaypalbuttons_ipn, pagseguro
INNER JOIN produtos pp ON jos_easypaypalbuttons_ipn.btn_name = pp.cod_produto
INNER JOIN produtos ps ON pagseguro.produto = ps.cod_produto
WHERE jos_easypaypalbuttons_ipn.payer_email = '$email'
OR pagseguro.email = '$email'
AND pp.modo_consulta = 'imediata'
OR ps.modo_consulta = 'imediata'
留言:
'on 子句'中的未知列'jos_easypaypalbuttons_ipn.btn_name'
表结构:
CREATE TABLE produtos
(
id int auto_increment primary key,
produto varchar(20),
modo_consulta varchar(30)
);
CREATE TABLE jos_easypaypalbuttons_ipn
(
id int auto_increment primary key,
btn_name varchar(20),
atendente varchar(30),
payer_email varchar(50)
);
CREATE TABLE pagseguro
(
id int auto_increment primary key,
produto varchar(20),
atendente varchar(30),
email varchar(50)
);
样本数据:
INSERT INTO produtos
(modo_consulta, produto)
VALUES
('imediata', 'BR0120'),
('imediata', 'BR0130');
INSERT INTO jos_easypaypalbuttons_ipn
(atendente, btn_name, payer_email)
VALUES
('sibila', 'BR0120', 'me@lettura.com'),
('lua', 'BR0130', 'me@lettura.com');
INSERT INTO pagseguro
(atendente, produto, email)
VALUES
('patricia', 'BR0120', 'me@lettura.com'),
('lua', 'BR0130', 'me@lettura.com');
更新。所需的输出是atendente
来自 2 个表的唯一行pagseguro
,jos_easypaypalbuttons
当匹配表produtos.mod_consulta
为'imediata'
:
ATENDENTE BTN_NAME PRODUTO MOD_CONSULTA
-----------------------------------------
sibila BR0120 imediata
lua BR0130 imediata
patricia BR0120 imediata