我有三张桌子。
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列与Person Table的id列关联为外键。
PersonContact的Contact_id列和Contact表的id列作为外键
答案 0 :(得分: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`);
答案 1 :(得分: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)
答案 2 :(得分:0)
这是我在T-SQL
方面的价值0.02美元的建议选择FirstName,LastName,BirthDate 来自Person p 加入PersonContact pc ON p.id = pc.Person_id
选择联系人,键入 来自联系方式c 加入PersonContact pc ON c.id = pc.Person_id