0

私は3つのテーブルを持っています。

Person (id, FirstName, LastName, BirthDate)
Contact (id, contact, type)
PersonContact( Person_id, Contact_id )

ご覧のとおり、Person_idはPersonContactテーブルのPersonテーブルから来ており、Contact_idはPersonContactテーブルのContactテーブルから来ています。

PersonContactテーブルのPerson_id列を外部キーとしてPersonTableのid列に関連付けるクエリを作成したいと思います。

そして、外部キーとしてContactテーブルのid列を持つPersonContactのContact_id列

4

3 に答える 3

3

これは問題に答えるはずです

CREATE TABLE IF NOT EXISTS `person_contact` (
  `contact_id` int(11) NOT NULL,
  `person_id` int(11) NOT NULL,
  PRIMARY KEY (`contact_id`,`person_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;


ALTER TABLE `person_contact`
  ADD CONSTRAINT `person_contact_ibfk_2` FOREIGN KEY (`person_id`) REFERENCES `person` (`id`),
  ADD CONSTRAINT `person_contact_ibfk_1` FOREIGN KEY (`contact_id`) REFERENCES `contact` (`id`);
于 2011-04-18T15:34:29.323 に答える
0

これが、T-SQLに関する私の0.02ドル相当のアドバイスです。

Person pからFirstName、LastName、BirthDateを選択します。PersonContactpc ON p.id=pc.Person_idに参加します。

[連絡先]を選択し、[連絡先から]と入力します。cjoin PersonContact pc ON c.id = pc.Person_id

于 2011-04-18T15:45:54.487 に答える
0

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

alter PersonContact add foreign key(PersonID) references Person(ID)

選択するには、次のようにします。

select *
    from Person
        inner join PersonContact on(Person.ID=PersonContact.PersonID)
于 2011-04-18T15:35:36.617 に答える