欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

如其实现一对多关系的版本管理

更新时间: 2014-01-05 02:30:26 责任编辑: Author_N1

 

如果实现一对多关系的版本管理?
高手请帮释疑:假如有一种数据关系,事物A对应于多个事物B,且这种关系在不同时期的关系是不同的。如何用关系表表达这种关系呢?

假如没有关系版本差异,可以很容易使用一对多关系实现如下:

A表字段:
Akey    Aname

B表字段:
Bkey    Bname


C关系表字段:
Ckey  Akey  Bkey

select * from C WHERE C.Akey='1001'可以获得关系列表

但目前要求能通过Akey找到不同版本的B列表,如何实现呢?
--参考方法--
你这个结构是多对多的,需要关系表。
一对多,不需要关系表,只需要在“多”的那张表加个“少表主键”的外键,就是在B里加AID
然后就查询就可以了 

select B.Bname  from A inner join B on A.AID=B.AID where A.AID=123
你还可以在后边加Group by B.Bname或者 B.AID之类的聚合查询。

你是SQL基本功还不到家,这类问题,老夫熟悉的很。
十年数据库经验了,我已经不再关心数据库的问题了,那是小孩子的事情了。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:30:26
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/10634/
本文WWW.DOC100.NET DOC100.NET版权所有。