以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于视图的加载  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=99301)

--  作者:10059
--  发布时间:2017/4/17 9:12:00
--  关于视图的加载

老师,我在SQL server 数据库中建了个视图,总共有六百多行,但是我加载到窗口的table之后就变成了五百多行了。请问老师知道是什么原因??

视图设计如下:


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170417085155.png
图片点击可在新窗口打开查看

1、主键都不是自动增长的
2、ch1和ch2是一对多关系,比如说ch1中sheet_no = y001,在ch2中sheet_no可以有多个y001
3、其实少的一百多行数据也就是ch2中sheet_no有重复的数据,也就是视图加载到窗口的table之后sheet_no 就没有重复的了。

麻烦老师帮忙看看,谢谢啦!!

--  作者:有点色
--  发布时间:2017/4/17 9:14:00
--  

你视图那里,改一下,把各自的主键合并成一列,作为视图的第一列,这样就不会重复。

 

foxtable默认会把重复的行移除掉的。


--  作者:10059
--  发布时间:2017/4/17 9:37:00
--  
老师,把各自的主键合并成一列,作为视图的第一列,没明白是什么意思??
--  作者:有点色
--  发布时间:2017/4/17 9:50:00
--  

 比如sql语句可以这样写

 

select (第一列 + 第二列 + 第三列) as 主键, * From {表a}


--  作者:有点色
--  发布时间:2017/4/17 9:53:00
--  

 或者是,使用 Row_Number 也可以,参考

 

select row_number() over(order by 某列) as [_Identify] , * From {表A} 


--  作者:10059
--  发布时间:2017/4/17 10:17:00
--  
好的,谢谢老师了