以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请问一下,我两个表都是在外部sqlserver里连接进来的,之后以“凭证Id”这一列为关联列,其中“财务支piao”这个表相当于一个总表,在“凭证id”下有许多行的数据在表“费用报销单”中,我的本意是  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=113185)

--  作者:lzw001
--  发布时间:2018/1/10 17:48:00
--  请问一下,我两个表都是在外部sqlserver里连接进来的,之后以“凭证Id”这一列为关联列,其中“财务支piao”这个表相当于一个总表,在“凭证id”下有许多行的数据在表“费用报销单”中,我的本意是

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180110174813.png
图片点击可在新窗口打开查看
点击“财务支票”这个表的某一行,能在窗口中列出对应的在表”费用报销单”凭证Id列的所有行,那么问题来了:由于“凭证Id”这一列我在sqlserver数据库中设为了主键,所以表“财务支票”在表”费用报销单”只能对应一行,因为只有“凭证id“列一相同就会报错,我要的是可以对应多行的,就跟”基本功能演示“这个表效果一样,这个有其他方法解决吗,求解
--  作者:有点甜
--  发布时间:2018/1/10 18:30:00
--  

重复的列,不能设置成主键。

 

你两个表示是什么关系?多对多还是多对一?


--  作者:lzw001
--  发布时间:2018/1/10 22:47:00
--  
一对多
--  作者:lzw001
--  发布时间:2018/1/10 22:53:00
--  
比如说,“财务支票”这个表中的日期可以在“费用报销单”有多个对应的行
--  作者:有点甜
--  发布时间:2018/1/10 23:08:00
--  
以下是引用lzw001在2018/1/10 22:53:00的发言:
比如说,“财务支票”这个表中的日期可以在“费用报销单”有多个对应的行

 

那父表就是一行;子表多行。你子表要加一列【凭证id】,用来记录父表的id号,不能是主键。


--  作者:lzw001
--  发布时间:2018/1/11 8:58:00
--  
好,这个sqlserver里表一旦创建了,感觉就不能再改主键了,这个还有其他方法吗
--  作者:有点甜
--  发布时间:2018/1/11 9:43:00
--  
以下是引用lzw001在2018/1/11 8:58:00的发言:
好,这个sqlserver里表一旦创建了,感觉就不能再改主键了,这个还有其他方法吗

 

可以改的,提示什么错误?

 

试试

 

https://www.cnblogs.com/0351jiazhuang/p/4534695.html

 

https://www.cnblogs.com/similar/p/5477776.html

 


--  作者:lzw001
--  发布时间:2018/1/11 9:47:00
--  
好,可以了,谢谢