查询视图时出错: 在包含外联接操作符的查询中,不能指定被联接的表

ltolll 2019-01-20 04:01:25
在试图(用JDBC)遍历数据库中所有视图记录数时出错
SELECT COUNT(*) FROM vwHoora
提示:在包含外联接操作符的查询中,不能指定被联接的表。视图或函数 't_ICItem' 包含被联接的表。
在SSMS中得到相同的结果, 要如何能事先知道这种视图, 跳过不查呢?

附视图脚本

SELECT v1.FBrNo, v1.FDate, v1.FInterID, u1.FEntryID, v1.FBillNo, v1.FTranType, t1.FQtyDecimal, t1.FPriceDecimal, t1.FTrack, 0 AS FClosed,
CASE WHEN v1.FCheckerID < 0 THEN '*' WHEN v1.FCheckerID > 0 THEN '*' ELSE '' END AS FCheck,
(SELECT FName
FROM dbo.ICTransType
WHERE (FID = v1.FTranType)) AS FBillName, t1.FName AS FMatName, t1.FShortNumber AS FMatNumber, t1.FModel,
(SELECT FName
FROM dbo.t_MeasureUnit
WHERE (FItemID = u1.FUnitID)) AS FUnitName,
(SELECT FShortNumber
FROM dbo.t_MeasureUnit
WHERE (FItemID = u1.FUnitID)) AS FUnitNumber, u1.FUnitID, u1.FQty, u1.FAuxQty, v1.FNote, v1.FCheckerID,
(SELECT FName
FROM dbo.t_User
WHERE (FUserID = v1.FCheckerID)) AS FCheckManName, v1.FSCBillNo
FROM dbo.ICStockBill AS v1 INNER JOIN
dbo.ICStockBillEntry AS u1 ON v1.FBrNo = u1.FBrNo AND v1.FInterID = u1.FInterID LEFT OUTER JOIN
dbo.t_ICItem AS t1 ON u1.FItemID = t1.FItemID
WHERE (v1.FTranType = 57)
...全文
473 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltolll 2019-01-23
  • 打赏
  • 举报
回复
引用 1 楼 丰云 的回复:
遍历视图时,每次执行统计查询后都判断一下全局的错误消息撒,
出错就跳过不就行了

"统计查询"是指什么? 是"SELECT COUNT(*) FROM vwHoora", 这个语句吗?
丰云 2019-01-22
  • 打赏
  • 举报
回复
遍历视图时,每次执行统计查询后都判断一下全局的错误消息撒, 出错就跳过不就行了

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧