1

次の形式の関係を持つ MySQL データベースを作成しています。

データベース

私が達成しようとしているのは、両方のカップルの詳細を一度に表示するビューを作成することです。たとえば、列名は次のようになります。

|| P1_First_Name || P1_LastName || P1_Gender || P2_FirstName || P2_LastName || P2_Gender ||

ただし、これを行う方法がわかりません。これまでのところ、私は次のようなものを持っています

CREATE VIEW CoupleDetails AS
SELECT People.`First Name`, People.`Last Name`, People.`Gender`
FROM Couples
LEFT JOIN People ON People.NI_Number = Couples.ni_person1;

これは、最初の人の詳細を取得するためにうまく機能します。ここ数時間、必要な列を表示するテーブルを作成しようとしましたが、上記のように何かを機能させることができません。率直に言って、何をしようとしているのかわかりません! 誰かが私に正しい方向へのガイダンスを提供してくれませんか!

4

1 に答える 1

3

tableに依存する tableの列が 2 つあるため、 tablePeopleに対して table を 2 回結合する必要があります。CouplesCouplesPeople

1人しかいない場合はカップルを呼び出すことができないため、テーブルの列Couplesが必要(またはnull不可)であると思います:)

CREATE VIEW CoupleDetails 
AS
SELECT  b.FirstName P1_FirstName,
        b.LastName P1_LastName,
        b.Gender = P1_Gender,
        c.FirstName P2_FirstName,
        c.LastName P2_LastName,
        c.Gender = P2_Gender
FROM    Couples a
        INNER JOIN People b
            ON a.ni_person1 = b.NI_Number
        INNER JOIN People c
            ON a.ni_person2 = c.NI_Number

結合についてさらに詳しく知りたい場合は、以下のリンクにアクセスしてください。

于 2013-04-05T13:26:33.627 に答える