2011-12-15 5 views
0

私はオンラインで変更されたバージョンを発見しました。私は連絡先と呼ばれる別のテーブルがあり、私は内側のl.idにc.emailで参加しようとしています。私は通常サブクエリを使用しませんので、私がオンラインで見つけたものは私にとっては外国人のようです。このクエリに内部結合を追加する

いずれにしても、l.id = c.lead_idの内部結合を追加するにはどうすればc.emailを選択する必要がありますか。

SELECT l.id, 
(SELECT amount FROM lead_status WHERE lead_id = l.id AND buyer = 'BUYER_PROXY') AS our_bid, 
(SELECT amount FROM lead_status WHERE lead_id = l.id AND buyer != 'BUYER_PROXY' AND discriminator='AUTO_PING' ORDER BY amount DESC LIMIT 1) AS best_bid, 
(SELECT amount FROM lead_status WHERE lead_id = l.id AND discriminator = 'AUTO_POST' AND winner = 1 ORDER BY amount DESC LIMIT 1) AS final_sold_amount, 
(SELECT buyer FROM lead_status WHERE lead_id = l.id AND discriminator = 'AUTO_POST' AND winner = 1 ORDER BY amount DESC LIMIT 1) AS buyer 
FROM leads AS l 
WHERE l.state = 'ACCEPTED' 
AND (SELECT buyer FROM lead_status WHERE lead_id = l.id AND discriminator = 'AUTO_POST' AND winner = 1 ORDER BY amount DESC LIMIT 1) != 'TEST' 
AND DATE(l.create_date) > '2011-12-01' 

私は知っている、質問は明らかではありませんが、誰でも助けることができます。あなたは本当に近いです

答えて

1

SELECT l.id, 
(SELECT amount FROM lead_status WHERE lead_id = l.id AND buyer = 'BUYER_PROXY') AS our_bid, 
(SELECT amount FROM lead_status WHERE lead_id = l.id AND buyer != 'BUYER_PROXY' AND discriminator='AUTO_PING' ORDER BY amount DESC LIMIT 1) AS best_bid, 
(SELECT amount FROM lead_status WHERE lead_id = l.id AND discriminator = 'AUTO_POST' AND winner = 1 ORDER BY amount DESC LIMIT 1) AS final_sold_amount, 
(SELECT buyer FROM lead_status WHERE lead_id = l.id AND discriminator = 'AUTO_POST' AND winner = 1 ORDER BY amount DESC LIMIT 1) AS buyer, 
c.email 
FROM leads AS l 
INNER JOIN contacts AS c ON l.id = c.lead_id 
WHERE l.state = 'ACCEPTED' 
AND (SELECT buyer FROM lead_status WHERE lead_id = l.id AND discriminator = 'AUTO_POST' AND winner = 1 ORDER BY amount DESC LIMIT 1) != 'TEST' 
AND DATE(l.create_date) > '2011-12-01' 

INNER JOINのは、他人その後、INNER JOINを(または変種)、まずあなたがテーブル "FROM" あなたの元を持って、ちょうど別のテーブルを追加するようなものです。

関連する問題