表的关联问题? 应该是联接上的问题!用distinct除去重复值! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 create view aaaasselect distinct * from a,b where a.id=b.id--这样除去的整个A,B表组合的重复记录,而不是除去A,B表中某个字段的重复值。具体见联机帮助--输入关键字distinct查看它的功能及用法! 你是不是没有用连接呀,或者是没有用WHERE字句,进行连接!你比较以两个语句:use northwind goSELECT *FROM dbo.Orders INNER JOIN dbo.[Order Details] ON dbo.Orders.OrderID = dbo.[Order Details].OrderIDSELECT *FROM dbo.Orders , dbo.[Order Details]注:如果在没有WHERE 子句的情况下连接两个或两个以上的表,那么你正在执行笛卡尔乘积。这个连接将所有表中的所有行在FROM子句中结合起来。如果每个表中有20行,那么就会出理400行(20*20)的最终结果。总得在WHERE子句中连接表,非确实想将所有选定表中的所有行连接起来! 解决办法:1。确定要关联的字段2。判断有重复的值。例如:create table t1 (xh char(10),xm char(100))gocreate table t2(xh char(10),kch char(10),cj float)gocreate view v1as select t1.xh,t1.xm,t2.kch,t2.cj from t1 inner join t2 on t1.xh=t2.xh --参考连接无非是这几个--内连接和where相同inner join--左向外连接,返回左边表所有符合条件的left join--右向外连接,返回右边表所有符合条件的right join--完整外部连接,左向外连接和右向外连接的合集full join--交叉连接,也称笛卡儿积。返回左表中的每一行与右表中所有行的组合cross join http://expert.csdn.net/Expert/topic/2564/2564377.xml?temp=.365719 还是把你的表连接连好,用distinct过滤掉重复项,会影响效率的 select ...from 表 left outer join 有n个人的表 SQL Server2000数据库中的表只能复制,不能粘贴啊? 如何计算收入 請問一下SQL自代的Profiler在追蹤時各個范本有什麼區別? 如何查询某列的最大值对应的另一列的最大值? sql语句求助! 一个聚合函数的问题 为什么局域网内的SQL Server 2005 无法通过机器名称访问 各位大侠,看看我的存储过程,找了一下午,也不知道怎么回事? 急急!一个函数的语法错误,但怎么也找不到哪错? 求Sql Server7.0 下 存储过程如何加密 突然想到的一个问题 如何根据字段行中的内容成组计算
as
select distinct * from a,b where a.id=b.id
--这样除去的整个A,B表组合的重复记录,而不是除去A,B表中某个字段的重复值。
具体见联机帮助--输入关键字distinct查看它的功能及用法!
你比较以两个语句:use northwind
go
SELECT *
FROM dbo.Orders INNER JOIN
dbo.[Order Details] ON dbo.Orders.OrderID = dbo.[Order Details].OrderIDSELECT *
FROM dbo.Orders ,
dbo.[Order Details]注:如果在没有WHERE 子句的情况下连接两个或两个以上的表,那么你正在执行笛卡尔乘积。这个连接将所有表中的所有行在FROM子句中结合起来。如果每个表中有20行,那么就会出理400行(20*20)的最终结果。总得在WHERE子句中连接表,非确实想将所有选定表中的所有行连接起来!
1。确定要关联的字段
2。判断有重复的值。
例如:
create table t1
(xh char(10),xm char(100))
go
create table t2
(xh char(10),kch char(10),cj float)
go
create view v1
as
select t1.xh,t1.xm,t2.kch,t2.cj from t1 inner join t2 on t1.xh=t2.xh
连接无非是这几个
--内连接和where相同
inner join
--左向外连接,返回左边表所有符合条件的
left join
--右向外连接,返回右边表所有符合条件的
right join
--完整外部连接,左向外连接和右向外连接的合集
full join
--交叉连接,也称笛卡儿积。返回左表中的每一行与右表中所有行的组合
cross join