您的位置:程序门 -> ms-sql server -> 基础类



从视图中取出不重复记录


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


从视图中取出不重复记录
发表于:2007-06-05 09:33:40 楼主
五张表关联.
最后一张表为某个项目某个合同的支付情况!
select   top   100   percent   dbo.t_projitem.item_name,   dbo.t_projitem.item_amount,  
            dbo.t_projcon.con_name,   dbo.t_projorg.org_name,   dbo.t_projitem.item_id,  
            dbo.t_projitem.item_type,   dbo.t_projpay.pay_contract,  
            dbo.t_projcontract.contract_account,   dbo.t_projpay.pay_id
from   dbo.t_projitem   inner   join
            dbo.t_projorg   on   dbo.t_projitem.item_org   =   dbo.t_projorg.org_id   inner   join
            dbo.t_projcontract   on  
            dbo.t_projitem.item_id   =   dbo.t_projcontract.contract_item   inner   join
            dbo.t_projcon   on  
            dbo.t_projcontract.contract_con   =   dbo.t_projcon.con_id   inner   join
            dbo.t_projpay   on   dbo.t_projcontract.contract_id   =   dbo.t_projpay.pay_contract


现在从这个视图中取记录,但是重复的.如何过滤掉重复记录.

发表于:2007-06-05 09:38:001楼 得分:0

如果select   a,b,c,d   from   tb   where   group   a,b,c,d

我只想按a筛选?怎么办.像这样,可是不行.

select   a,b,c,d   from   tb   where   group   a
发表于:2007-06-05 09:39:392楼 得分:0
try

select   distinct   dbo.t_projitem.item_name,   dbo.t_projitem.item_amount,  
            dbo.t_projcon.con_name,   dbo.t_projorg.org_name,   dbo.t_projitem.item_id,  
            dbo.t_projitem.item_type,   dbo.t_projpay.pay_contract,  
            dbo.t_projcontract.contract_account,   dbo.t_projpay.pay_id
from   dbo.t_projitem   inner   join
            dbo.t_projorg   on   dbo.t_projitem.item_org   =   dbo.t_projorg.org_id   inner   join
            dbo.t_projcontract   on  
            dbo.t_projitem.item_id   =   dbo.t_projcontract.contract_item   inner   join
            dbo.t_projcon   on  
            dbo.t_projcontract.contract_con   =   dbo.t_projcon.con_id   inner   join
            dbo.t_projpay   on   dbo.t_projcontract.contract_id   =   dbo.t_projpay.pay_contract

发表于:2007-06-05 09:41:123楼 得分:0
按a筛选  
那其它项     就要使用   min()   or   max()   ...
等一些函数
发表于:2007-06-05 09:41:194楼 得分:0
相同的a对应不同的b,c,d  

那么至少要知道在相同a时,b,c,d的条件
发表于:2007-06-05 17:22:465楼 得分:0
disctinct   不行


select   子句错误:   “.”附近的表达式。
缺少   from   子句。
无法分析查询文本。
发表于:2007-06-05 17:44:536楼 得分:0
scmail81(琳·风の狼(修罗))  

取出还是重复.
发表于:2007-06-05 21:53:127楼 得分:0
如果select   a,b,c,d   from   tb   where   group   a,b,c,d

我只想按a筛选?怎么办.像这样,可是不行.

select   a,b,c,d   from   tb   where   group   a

--a   相同时取b最大的那条记录
select   a,b,c,d   from   tb   m   where   not   exists(select   1   from   tb   where   a=m.a   and   b> a.b)
发表于:2007-06-06 10:44:328楼 得分:0
lz的重复是指全部重复还是部分字段重复?   :)


快速检索

最新资讯
热门点击