ms sql view(视图)为何有两条重复记录

lad198483 2011-12-14 02:33:23
ms sql 2008 r2 我创建了一个view视图,每次对源表格插入一条数据,此view视图就会出现两条一模一样的记录,原表只有一条。
...全文
368 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuohuameijiang 2011-12-26
  • 打赏
  • 举报
回复
LEFT OUTER JOIN
dbo.附屬設備 LEFT OUTER JOIN
dbo.群組_公司 ON dbo.附屬設備.公司編號 = dbo.群組_公司.公司編號 ON dbo.附屬設備採購單.產品序號 = dbo.附屬設備.產品序號
-------
后面怎么没有ON条件啊?
勿勿 2011-12-25
  • 打赏
  • 举报
回复
是不是视图存在一对多的情况呢?
芸香传奇 2011-12-25
  • 打赏
  • 举报
回复
LEFT OUTER JOIN
dbo.附屬設備 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
LEFT OUTER JOIN
dbo.群組_公司 ON dbo.附屬設備.公司編號 = dbo.群組_公司.公司編號
ON dbo.附屬設備採購單.產品序號 = dbo.附屬設備.產品序號

XXXXXXXXXXXXXXXXXXXXXX
部分应该加上链接条件!

yghxx 2011-12-25
  • 打赏
  • 举报
回复
LEFT OUTER JOIN
dbo.附屬設備 @@@ LEFT OUTER JOIN
dbo.群組_公司 ON dbo.附屬設備.公司編號

@@@ 的位置上没有ON条件
--小F-- 2011-12-22
  • 打赏
  • 举报
回复
left join 是有可能产生重复值的

换INNER JOIN 试试。
楠_ 2011-12-22
  • 打赏
  • 举报
回复
产生这种有基本上有两个原因
一、JOIN 语句没有加 条件 例如:LEFT OUTER JOIN dbo.附屬設備
二、JOIN 语句增加的条件存在多个值
TABLE1 里有 A ,B有一条记录 1,2
TABLE2 里有 A ,B有二条记录 1,3和1,4
如果写成这样
SELECT *
FROM TABLE1 A
LEFT JOIN TABLE2 B ON B.A=A.A

就会产生 笛卡尔积 出现多相同的记录
lad198483 2011-12-14
  • 打赏
  • 举报
回复
SELECT dbo.群組_公司.客戶名稱, dbo.附屬設備採購單.SAP_NO, dbo.產品資料庫.產品說明, dbo.附屬設備採購單.入倉日期, dbo.附屬設備.s_no,
dbo.附屬設備.公司編號, dbo.產品資料庫.產品編號, dbo.附屬設備採購單.產品序號, dbo.附屬設備.出貨時間, dbo.附屬設備.異動日期,
dbo.附屬設備.匯入人員, dbo.附屬設備.匯入時序, dbo.附屬設備.訂單編號, dbo.附屬設備採購單.AvayaPO, dbo.附屬設備採購單.AvayaPOComName,
dbo.附屬設備採購單.s_no AS s_no2, dbo.附屬設備採購單.數量, dbo.附屬設備採購單.狀態, dbo.附屬設備採購單.AvayaPOSAP,
dbo.群組_公司.AvayaPOComName AS PLDSName, dbo.附屬設備採購單.備註, dbo.附屬設備.出貨日期
FROM dbo.產品資料庫 INNER JOIN
dbo.附屬設備採購單 ON dbo.產品資料庫.產品編號 = LTRIM(RTRIM(dbo.附屬設備採購單.產品編號)) LEFT OUTER JOIN
dbo.附屬設備 LEFT OUTER JOIN
dbo.群組_公司 ON dbo.附屬設備.公司編號 = dbo.群組_公司.公司編號 ON dbo.附屬設備採購單.產品序號 = dbo.附屬設備.產品序號
--小F-- 2011-12-14
  • 打赏
  • 举报
回复
看看你的视图是怎么写的?
lad198483 2011-12-14
  • 打赏
  • 举报
回复
刷新什么?已经有很多条记录
-晴天 2011-12-14
  • 打赏
  • 举报
回复
刷新一下试试.

22,300

社区成员

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

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