我创建了个视图如
create view YaoPzd
as
select stock.id,materia.leechdomName,stock.leechdomNamea,materia.spec,materia.leechdomID,materia.genre,stock.casing,stock.consiqnment,materia.alarm from stock,materia
go查询出来的数据,字段里的值有些就是重复的,为什么会这样
create view YaoPzd
as
select stock.id,materia.leechdomName,stock.leechdomNamea,materia.spec,materia.leechdomID,materia.genre,stock.casing,stock.consiqnment,materia.alarm from stock,materia
go查询出来的数据,字段里的值有些就是重复的,为什么会这样
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
as
select stock.id,materia.leechdomName,stock.leechdomNamea,materia.spec,materia.leechdomID,materia.genre,stock.casing,stock.consiqnment,materia.alarm from stock,materia
where stock.id=materia.id--两个表的关联字段
或
select stock.id,materia.leechdomName,stock.leechdomNamea,materia.spec,materia.leechdomID,materia.genre,stock.casing,stock.consiqnment,materia.alarm from stock inner join materia on stock.id=materia.id
go
stock.id,materia.leechdomName,stock.leechdomNamea,materia.spec,materia.leechdomID,materia.genre,stock.casing,stock.consiqnment,materia.alarm from stock,materia没有任何连接条件的from子句,相当于笛卡尔积,即两个表行数的乘积。
stock有n行,materia有m行,结果就为n*m行,但是如果你stock表和materia表本身无重复数据,连接出来的也没有重复数据,只是对于stock来说,关于materia的部分会重复m次