2010-12-07 11 views
0

に参加する:MySQLの複数選択&Iは、このクエリ持っ

SELECT suppliers.*, porders.om_quote_no, orders.project_ref 
FROM suppliers, porders, orders 
WHERE suppliers.supp_short_code = suppliers.supp_short_code 

porderssuppliersは、すべての詳細はsupp_short_codeの列が含まれている、orderssupp_short_codeproject_refとテーブルで、supp_short_codeom_quote_noを持つテーブルです。私は誰かが1つのsupp_short_codeを見ることができ、それに対してどのような命令が置かれているのかを知ることができるようにしようとしています。つまりsupp_short_codeは各テーブルの共通の列です!

これは可能ですか?

+0

異なるテーブルは正確に何を表していますか、どのようにお互いに関係していますか? –

+0

これは、supp_short_codeによる関連が、それらの共通鍵です。 pordersは購買発注のアーカイブ表、ordersは現在の発注書の表、supplierはすべてのサプライヤーの詳細を示す表です。だから、私はすべての購入注文をsupp_short_codeでグループ化して表示しようとしています – benhowdle89

答えて

2
SELECT s.*,p.om_quote_no,o.project_ref FROM 
orders AS ord,porders AS p,suppliers AS s WHERE o.supp_short_code = p.supp_short_code AND  o.supp_short_code = s.supp_short_code 

感謝。

0

あなたの問題が正しいかどうかわかりません。特にあなたのWHERE節が私を混乱させます。

どのようにこの1について:

SELECT 
s.*, 
p.om_quote_no, 
o.project_ref 
FROM 
orders o 
INNER JOIN porders p ON o.supp_short_code = p.supp_short_code 
INNER JOIN suppliers s ON o.supp_short_code = s.supp_short_code 
0

多分それは、2つの別々のSELECT文を実行するために、より理にかなって:

SELECT suppliers.*, porders.om_quote_no 
FROM suppliers, porders 
WHERE suppliers.supp_short_code = porders.supp_short_code 

SELECT suppliers.*, orders.project_ref 
FROM suppliers, orders 
WHERE suppliers.supp_short_code = orders.supp_short_code 

porders.om_quote_noorders.project_refが同じタイプである場合、あなたはUNIONを持つ2つの結果をマージすることができます。

関連する問題