我创建了以下简单的观点:SQL Server视图导致不同的SELECT
CREATE VIEW cs.MyTestPO AS
SELECT ttdpur401100.t_orno
, ttdpur401100.t_item
, ttcibd001100.t_dsca
FROM ttdpur401100
JOIN ttcibd001100 ON ttcibd001100.t_item = ttdpur401100.t_item
然后SELECT * FROM cs.MyTestPO
回报276376行
如果我本身
SELECT ttdpur401100.t_orno
, ttdpur401100.t_item
, ttcibd001100.t_dsca
FROM ttdpur401100
JOIN ttcibd001100 ON ttcibd001100.t_item = ttdpur401100.t_item
运行SELECT语句它返回277488行
任何人都可以说明为什么认为我缺少SELECT语句返回的1112行。
在从视图中选择数据之后,但在从查询中选择之前,是否可能添加了1112行? – 2013-02-11 21:35:51
从视图中选择和选择直接相继运行多次,并产生相同的结果。 – Mike 2013-02-11 21:47:14
将它们放入事务中,并在结果集上使用DISTINCT重新运行。我猜这个观点正在强化独特性。 – 2013-02-11 21:49:07