以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]使用sql查询表的时候提示这些列不具有唯一值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92610)

--  作者:whyxd
--  发布时间:2016/11/8 12:40:00
--  [求助]使用sql查询表的时候提示这些列不具有唯一值

使用sql查询表提示

system.argumentexception:这些列当前不具有唯一值。

在预览的时候或者直接在sql里面执行查询是可用的,可以正常显示。

 

老师请指教!


--  作者:有点蓝
--  发布时间:2016/11/8 14:03:00
--  
贴出sql语句看看
--  作者:whyxd
--  发布时间:2016/11/8 14:16:00
--  

怎么提交回复总是报错????图片点击可在新窗口打开查看


--  作者:whyxd
--  发布时间:2016/11/8 14:18:00
--  

s e l e c t      t1.产品编码,t1.材料编码,t1.材料名称,t1.规格型号,t1.辅助属性,t1.数量,t2.FYear as 会计年度,t2.FPeriod as 会计期间,sum(t2.FEndBal)/sum(t2.FEndQty) as 单价,t1.数量*(sum(t2.FEndBal)/sum(t2.FEndQty)) as 金额,t2.fitemid from {BOM明细表} t1 left  join {IcBal} t2 on t1.FItemID = t2.FItemID where t2.fendqty > 0  group by  t1.产品编码,t1.材料编码,t1.材料名称,t1.规格型号,t1.辅助属性,t1.数量,t2.FYear,t2.FPeriod,t2.fitemid

[此贴子已经被作者于2016/11/8 14:18:24编辑过]

--  作者:whyxd
--  发布时间:2016/11/8 14:19:00
--  

s e l e c t      t1.产品编码,t1.材料编码,t1.材料名称,t1.规格型号,t1.辅助属性,t1.数量,t2.FYear as 会计年度,t2.FPeriod as 会计期间,sum(t2.FEndBal)/sum(t2.FEndQty) as 单价,t1.数量*(sum(t2.FEndBal)/sum(t2.FEndQty)) as 金额,t2.fitemid from {BOM明细表} t1 left  join {IcBal} t2 on t1.FItemID = t2.FItemID where t2.fendqty > 0  group by  t1.产品编码,t1.材料编码,t1.材料名称,t1.规格型号,t1.辅助属性,t1.数量,t2.FYear,t2.FPeriod,t2.fitemid


--  作者:有点蓝
--  发布时间:2016/11/8 14:29:00
--  
那把上面sql做成视图调用吧
--  作者:whyxd
--  发布时间:2016/11/8 14:45:00
--  

哦,好!

 


--  作者:whyxd
--  发布时间:2016/11/8 15:21:00
--  回复:(有点蓝)那把上面sql做成视图调用吧

我将语句做成视图,视图名字cpclcb

sql 查询表 直接使用语句:s e l e c t  * from cpclcb

结果还是一样,未能启用约束值,一行或多行中包含违反非空、唯一或外检约束的值!

 

 


--  作者:有点蓝
--  发布时间:2016/11/8 15:34:00
--  
试试sql里添加一下主键列
--  作者:whyxd
--  发布时间:2016/11/8 16:04:00
--  
好吧,我把所有主键都加入sql,执行没有问题了。。。谢啦 蓝老师。。。图片点击可在新窗口打开查看