2011-12-04 5 views
0

同じテーブルの異なる行を取得します。iは、以下の表</p> <p>顧客(cus_id、cus_name)のセットをHAVA

jointAccount(cus_id、acc_number、relationship);

アカウント(acc_number、cus_id)

今私はすべてのjointAccountsを一覧表示するには、SELECT文を作成したい、 は、それが顧客名、および関係の両方が含まれていなければなりません。

私は両方の異なるユーザー名を取得する方法がわかりませんが、これを行うには可能ですか?

答えて

1

一般的に言えば、はい。私はあなたのjointAccountテーブルごとに共同アカウントの両側の顧客情報を取得したいということを意味していると仮定しています。どのデータベースを使用しているのかわからないので、この答えはMySQLを前提としています。

単一のSQLクエリで同じテーブルに2回結合することができます。私はあなたがテーブルをまだ作成していないと仮定しています。cus_idがjointAccountテーブルに2回リストされています。通常、これらはcus_id1cus_id2のようなものになります。これは下のサンプルクエリで使用しました。

例:

SELECT c1.cus_id AS cust1_id, c1.cus_name AS cust1_name 
    , c2.cus_id AS cust2_id, c2.cus_name AS cust2_name, j.relationship 
    FROM customer c1 
INNER JOIN jointAccount j 
    ON c1.cus_id = j.cus_id1 
    , customer c2 
INNER JOIN jointAccount j 
    ON c2.cus_id = j.cus_id2 

私はこれをテストしていませんが、それは一般的な考えです。

+0

こんにちは、私は正しいと思いますが、もう一度私の質問を編集しました。これは可能ですか? –

0

は、このクエリを試してみてください。

SELECT * FROM jointAccount a LEFT JOIN customer c ON a.cus_id = c.cus_id; 

ちょうどあなたが必要な列の名前に*を置き換えます。

+0

はい、2人の異なる顧客を指定する方法はありますか? *あなたは*を書く方法を明確にすることができますか? –

関連する問題