
mysql通过主键查找外键的值
例如,我有两个表,第一个是借书人的信息(people),id号,姓名,和性别。第二个表是借出的书的信息(books),isbn号,书名,价格。我想通过建立主键和外键,在查...
例如,我有两个表,第一个是借书人的信息(people),id号,姓名,和性别。
第二个表是借出的书的信息(books),isbn号,书名,价格。
我想通过建立主键和外键,在查找的时候,例如我select一个借书人的时候,能够显示他的信息的同时并且显示他借的书,并同时显示所借书的信息,可以么? 如果能给出实例代码就非常非常感谢了。。。 展开
第二个表是借出的书的信息(books),isbn号,书名,价格。
我想通过建立主键和外键,在查找的时候,例如我select一个借书人的时候,能够显示他的信息的同时并且显示他借的书,并同时显示所借书的信息,可以么? 如果能给出实例代码就非常非常感谢了。。。 展开
3个回答
展开全部
应该还有一个借书记录的表记录谁什麼时候借出了哪本书。假设为A表
则可以这样写
select t1.*,t3.* from people t1 left join A t2 on t1.id = t2.id left join books t3 on t2.isbn = t3.isbn where t1.id = '你想要查找的借书人'
则可以这样写
select t1.*,t3.* from people t1 left join A t2 on t1.id = t2.id left join books t3 on t2.isbn = t3.isbn where t1.id = '你想要查找的借书人'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这两张表没有关联啊,我不知道你books表中的isbn号是什么意思,如果是借书人的编号那就可以这么写
select * from people,books where books.isbn=people.id
如果你books中的isbn仅仅只是书号,那么这两张表就无法关联。
select * from people,books where books.isbn=people.id
如果你books中的isbn仅仅只是书号,那么这两张表就无法关联。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这明显缺少一张表:
借还书关系表
字段:
借书人id 引用人员表
书籍isbn 或者书籍id 引用书籍表
借书时间、还书时间, ...
然后才是sql怎么写的问题
借还书关系表
字段:
借书人id 引用人员表
书籍isbn 或者书籍id 引用书籍表
借书时间、还书时间, ...
然后才是sql怎么写的问题
追问
额,,,能给出第三张表的引用书籍表的语句么?
主外键怎么设置啊?
追答
借书人 表 的主键应该是ID。
书的信息 的 不知道应该是什么。 假设是isbn
这个很容易吧,你自己搜索一下,大概是
alter table 借书表 add constraint foreign key fk_xxx (personid) references persons(personid);
alter table 借书表 add constraint foreign key fk_yyy (isbn) references books(isbn);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询