0

しばらくこれに悩まされていましたが、結合の設定方法に問題があるのではないかと思います。

私は2つのテーブルを持っています。Ones は info と呼ばれ、ユーザーのすべての連絡先情報が含まれています。numbers という名前の 2 番目のテーブルには、さまざまなユーザーの電話番号がすべて含まれています。これらは、info のプライマリ ID によって phonenumbers の info_id に関連付けられています。この関係に基づいて参加させ、phonenumbers の下のすべての電話番号を info の単一の phonenumbers 列に参加させたいと考えています。私が使用している現在の結合はこれです。

SELECT phonenumbers p, info i FROM i.phonenumbers 
INNER JOIN p.workphone 
ON i.PID=p.info_id 
INNER JOIN p.homephone 
ON i.PID=p.info_id 
INNER JOIN p.mobilephone 
ON  i.PID=p.info_id

私が得るのは、データベースでさえないデータベースのworkphoneでユーザーにSELECTコマンドが拒否されていることだけです。

テーブル情報: PID、名、姓、住所、電子メール、電話番号、

テーブル phonenumbers: PID、workphone、homephone、mobilephone、info_id、

結合の構文はいいでしょう。すべてのチュートリアルは例を示しているだけで、さまざまな部分が何であるかについての説明はありません。

4

1 に答える 1

1

JOIN 構文は

TYPE_OF_JOIN database.table ON field = field

あなたが持っているので

JOIN p.workphone ON i.PID = p.info_id

p実際には、テーブルを含むという名前のデータベースを探すように DB に指示していますworkphone

pSELECT フィールド リストにエイリアスを作成したかどうかは問題ではありません。これはフィールド エイリアスであり、テーブル エイリアスと同じではありません。

于 2013-10-21T21:17:04.410 に答える